(navigation image)
Home American Libraries | Canadian Libraries | Universal Library | Community Texts | Project Gutenberg | Children's Library | Biodiversity Heritage Library | Additional Collections
Search: Advanced Search
Anonymous User (login or join us)
Upload
See other formats

Full text of "Automatic data-processing systems"

m 
m 

53 



BQ 



OS 
S 
0* 



as 

o 









of JUortia 
£tbrart^B 




5ty* (lift of 



P. M. Downey 

PHYSfCt 



p M DOWNEY 









AUTOMATIC DATA-PROCESSING SYSTEMS 

Principles and Procedures 



AUTOMATIC 
DATA-PROCESSING 

SYSTEMS 



Principles and Procedures 



ROBERT H. GREGORY 
RICHARD L VAN HORN 



WADSWORTH PUBLISHING COMPANY, INC. 

SAN FRANCISCO 



^r°% 




© I960 
by Wadsworth Publishing Company, Inc., San Francisco 

All rights reserved. 

No part of this book may be reproduced in any form, 

by mimeograph or any other means, 

without permission in writing from the publisher. 

Printed in the United States of America 

L.C. Cat. No. : 60-8491 



In 1956 the Army Ordnance Corps initiated an automatic data- 
processing systems (ADPS) career program for education of top 
management, training in needed skills, and career development. One 
urgent requirement in this program was a comprehensive textbook; to 
fill that need, this ADPS textbook was developed and written under 
contract with the Massachusetts Institute of Technology. 

Automatic Data-Processing Systems: Principles and Procedures 
deals with business-data processing. It is introductory, requiring no 
previous knowledge of electronic computing systems. Computer pro- 
gramming and systems analysis are covered in detail. More important, 
a blending of theoretical and practical approaches to data processing 
explains why, as well as what, and how. Some new concepts in manage- 
ment information are developed, and management tools and techniques 
are included. 

The Ordnance Corps pioneered in the development of electronic 
computers and sponsored the first high-speed electronic digital com- 
puter. The ENIAC — Electronic Numerical Integrator and Calcu- 
lator — was designed and constructed at the University of Pennsylvania 
for the Ballistics Research Laboratories, Aberdeen Proving Ground, 
and was installed in 1947. Within twelve years there were more than six 
thousand electronic computers in use for business, engineering, and 
scientific purposes. 

In technology as in pure science, the practical and effective use 
of new discoveries always lags behind the discoveries themselves. As 
this text makes clear, the amazing ability of electronic computers has 
not yet made business management a "push-button" process, nor will 
it do so in the near future. The successful application of automatic 
data-processing systems to business problems will continue to require 
imaginative and analytical thinkers at all levels — operating, program- 
ming, systems analysis and design, and management. Only human 
brain power can control the capacity of these systems to produce in- 
formation; and unless that control is effective, management runs the 
risk of becoming lost in a morass of detail. 



Digitized by the Internet Archive 
in 2013 



http://archive.org/details/automaticdataprOOgreg 



PREFACE 



At the heart of this book is a distinction between data and in- 
formation: data are the raw material from which management must 
distill information. The concept is simple, but the problems of putting 
it to work are often complex. Information must be defined and meas- 
ured before a system can be designed which will automatically increase 
the information content of reports. And in designing such a system, 
technical virtuosity is not enough to insure its success; economic factors 
are crucial in the long run. The cost of getting more accurate proc- 
essing must be compared to the value of having the improved informa- 
tion it can produce. 

This book is intended for readers with various interests, and it can 
be used in several ways. The detailed summaries following each chap- 
ter are probably the best quick guide to individual chapter coverage. 

Those who may be beginning their training in systems analysis 
will profit most by reading all the chapters in sequence. 

Readers familiar with equipment and programming can profitably 
begin with Part Four (Principles of Processing Systems). 

Management personnel might well begin with Parts Six (Equip- 
ment Acquisition and Utilization), Four, and Five (Systems Design), 
in that order; these sections provide sufficient information for making 
informed decisions on proposed applications, equipment selection, 
and systems design. 

Systems analysts experienced in other processing methods may 
want to start with Part Four; they may then find the earlier sections 
on equipment and processing more useful. Parts Five and Six are es- 
pecially appropriate for analysts because they deal with the effect of 
new processing techniques on systems analysis. 

At least one of the three appendices should be of interest to most 
readers. Appendix I is a brief history of earlier methods of processing 
data — calculating devices, typewriters, punched-card machines, and 
computers; it can help place current developments in a proper per- 
spective. Appendix II contains questions and problems (graduated 
according to difficulty) designed to emphasize certain points in the 
chapters and to encourage methodical thinking about data-processing 
problems. Appendix III is a glossary of terms common to the field of 
electronic data processing; it includes all terms given a new meaning 
in this book. 



Andrew J. Allott, Director, Electronic Computing Systems, Office, 
Chief of Ordnance, framed the idea of this text for Ordnance Corps 
educational purposes. Francis C. Crotty, Chief, Civilian Training, 
Office of Manpower, furnished guidance on training and policy and 
offered comments and suggestions. Howard C. Holland, Assistant 
Chief, Data Processing Systems Branch, Ordnance Comptroller, as 
Technical Project Officer, assisted in organization of the material for 
systems analysis and management studies. He also served as our un- 
flagging mentor and friendly critic. 

Dr. C. V. L. Smith, Martin H. Weik, Michael Romanelli, and 
George W. Reitwiesner of Ballistics Research Laboratories, Aberdeen 
Proving Ground, Maryland, made valuable suggestions for correction 
and improvement. Ernest Casale and others at Frankford Arsenal, 
Pennsylvania, contributed material on equipment components, charac- 
teristics, and operation. 

Several people at the Massachusetts Institute of Technology par- 
ticipated in the writing of this book, and we are happy to acknowledge 
their contributions to it. David W. Dailey selected and edited entries 
for the glossary. J. Craig Molsberry and Michael J. Erdei formulated 
the two chapters on programming. Howard Krasnow wrote the chapter 
on available equipment and Herbert Bryer (of Sylvania Electric Prod- 
ucts, Inc.) updated it. Bruce MacDonald covered equipment com- 
ponents and sorting, and Harvey Wagner (now of Stanford University) 
made valuable suggestions about the content of Chapters 10 and 18. 

Finally, we are indebted to Mrs. Martha Thompson, who cheer- 
fully typed innumerable versions and revisions of the manuscript. 



CONTENTS 

Foreword v 

Preface vi 

Part One 
ORIENTATION 

1. INTRODUCTION 2 

Why data are processed, 3. How data are processed, 5. Proc- 
essing facilities, 11. An example of business-data processing, 19. 
Implications for management, 25. Summary, 28. References 
and supplemental readings, 29. 

2. PROCESSING DATA BY MACHINE 32 

Machine-processable data, 33. Number systems, 42. Alpha- 
numerical systems, 50. Organization of data, 55. Central proc- 
essing unit, 61. Data flow, 63. Summary, 64. References and 
supplemental readings, 66. 

3. BASIC COMPUTER PROGRAMMING 68 

Introduction, 69. Operations, 70. Input-output operations, 72. 
Cycles, 76. Comparisons, 87. Shifting, 95. Data read-in, 97. 
Packing and unpacking data, 101. Arithmetical operations, 105. 
Special operations, 113. Summary, 115. References and sup- 
plemental readings, 117. 



Part Two 
AUTOMATIC EQUIPMENT 

4. INPUT-OUTPUT EQUIPMENT 120 

Input devices, 120. Output devices, 139. Communication fa- 
cilities and equipment, 146. Selection of input-output system, 
151. Summary, 155. References and supplemental readings, 
157. 



5. STORAGE 160 

Characteristics of data storage, 161. Storage devices, 164. Se- 
lection of storage methods, 176. Summary, 179. References and 
supplemental readings, 180. 

6. ARITHMETIC AND CONTROL UNITS 183 

Arithmetic unit components, 184. Arithmetical operations, 186. 
Logical operations, 202. Control unit components and operation, 
204. Control unit instruction routines, 208. Accuracy of arith- 
metic and control operations, 211. Summary, 212. References 
and supplemental readings, 214. 

7. AUTOMATIC PROCESSING EQUIPMENT 215 

Features of data- processing equipment, 216. Features for equip- 
ment appraisal, 234. Problems in equipment design, 239. Sum- 
mary, 240. References and supplemental readings, 241 . 



Part Three 
PROGRAMMING AND PROCESSING PROCEDURES 

8. ADDITIONAL PROGRAMMING TECHNIQUES 244 

Input, 245. Timing and minimum latency, 247. Errors, mis- 
takes, and malfunctions, 250. Special operations, 256. Pseudo- 
codes and relative addresses, 262. Subroutines, 267. Automatic 
programming, 269. Examples of automatic programming, 275. 
Summary, 282. References and supplemental readings, 285. 

9. PROCESSING PROCEDURES 287 

Techniques available, 287. Fragmentary and consolidated proc- 
essing, 289. Input methods, 291. Data flow, 294. Sorting, 
299. File maintenance and processing, 319. Procedures for 
integrated data processing, 324. Summary, 328. References 
and supplemental readings, 331 . 



Part Four 
PRINCIPLES OF PROCESSING SYSTEMS 

10. DATA AND INFORMATION: COST AND VALUE 334 

Concepts, 335. Data and information systems, 338. Cost of 
data and information, 345. Value of information, 354. Formu- 
lation of cost and value models, 365. Summary, 372. Refer- 
ences and supplemental readings, 375. 



11. SYSTEMS ANALYSIS AND DESIGN 378 

Objectives of analysis and design, 378. Reasons for analysis, 379. 
Amount of analysis, 383. Areas to study, 389. Systems ap- 
proach, 390. Systems design, 396. Summary, 409. Refer- 
ences and supplemental readings, 411. 

12. SYSTEMS ECONOMICS 414 

Theoretical approach to costs, 415. Transition costs, 421 . Cost 
analysis models, 427. Relation of time to money, 438. Sum- 
mary, 441 . References and supplemental readings, 442. 



Part Five 
SYSTEMS DESIGN 

13. ORGANIZATIONAL STRUCTURE FOR 

DATA PROCESSING 446 

Factors related to the enterprise, 446. Structural schemes, 456. 
Summary, 458. References and supplemental readings, 460. 

14. TOOLS FOR SYSTEMS ANALYSIS 463 

Factors to consider, 463. Analytic tools, 464. Run diagrams, 
468. Flow charts, 474. Data sheets, 487. Flow charts for 
manual systems, 490. Summary, 494. References and supple- 
mental readings, 498. 



Part Six 
EQUIPMENT ACQUISITION AND UTILIZATION 

15. FEASIBILITY STUDY 502 

Orientation, 503. Over-all investigation, 505. Detailed study 
area, 509. Conduct of feasibility study, 516. Summary, 523. 
References and supplemental readings, 525. 

16. APPLICATIONS STUDY AND EQUIPMENT SELECTION 528 

Scope and content of applications study, 528. Conduct of appli- 
cations study, 532. Equipment selection, 543. Summary, 552. 
References and supplemental readings, 554. 

17. INSTALLATION AND REVIEW 558 

Refore delivery of equipment, 558. After delivery of equipment, 
570. Reviewing new operations, 576. Summary, 577. Refer- 
ences and supplemental readings, 578. 



Part Seven 
SYSTEM RE-EXAMINATION AND PROSPECTIVE DEVELOPMENTS 

18. SCIENTIFIC DECISION PROCESSES 582 

Fundamentals, 583. Mathematical models, 590. Decisions and 
data systems, 606. Summary, 607. References and supple- 
mental readings, 608. 

19. PROSPECTIVE DEVELOPMENTS 610 

Equipment, 610. Systems, 616. Personnel implications, 618. 
Summary, 620. References and supplemental readings, 62 1 . 

Appendix I: History of computation 

and data-processing devices 624 

Appendix II: Questions and Problems 632 

Appendix III: Glossary of Automatic 

Data-processing Terminology 671 

List of Illustrations 685 

Acknowledgments of Illustrations 690 

Index 691 



PART ONE 



ORIENTATION 



CHAPTER ONE 



INTRODUCTION 



Substantial changes in business activity during recent years have 
encouraged the creation of new data-processing systems. Conversely, 
changes in data-processing equipment and methods are suggesting 
new methods of doing business. Electronic data processing, opera- 
tions research, and other new scientific and engineering developments 
are fast becoming a part of common business practice. And it is prob- 
able that data-processing and management-control methods will change 
more rapidly during the next ten years than they did in the 1950s. 

This progress will not make manual data processing and conven- 
tional control techniques obsolete; but it will make knowledge of auto- 
matic data processing invaluable for business managers, data-process- 
ing personnel, and systems and procedures analysts. All people who 
rely on facts for performing or managing business operations — people 
who need facts for answering questions and making reports — have a 
vital interest in the origination and processing of data. 

Attention is focused in this book on data processing for business 
applications; namely, finance, accounting, inventory control, produc- 
tion control, and personnel. Scientific and engineering computing are 
not covered. This chapter is a brief and general introduction to data 
processing. It tells why and how data are processed, describes process- 
ing facilities, explains and illustrates the application of an automatic 
data-processing system, and cites managerial implications of newer 
methods for dealing with data. Your attention is called to Appendix I, 
which gives a brief history of equipment — calculators, typewriters, 
punched cards, and electronic computers — that preceded automatic 
data processors, in order to give some perspective to our understanding 
of recent developments (Chapin, 1957).* This chapter, as an intro- 
duction, is not complete and self-contained; many passing references 
in it will be amplified later. 



* Annotated references, included at the end of each chapter, are referred to within the text 
by author or title and year of publication. 



INTRODUCTION 3 

WHY DATA ARE PROCESSED 

Data about business events are gathered, stored, processed, and 
reported for various reasons. Some of the more important reasons are 
these: to keep detailed facts about individual transactions; to produce 
routine operating documents, such as pay-checks and purchase orders; 
to summarize masses of facts into useful, informative reports, such 
as reports on sales in given areas and on costs of production; and to 
make analyses of business problems, such as finding locations for fac- 
tories and warehouses which will give minimum transportation costs. 

Data Availability 

Facts are the raw material of data processing. The facts that are 
initially obtained may be restricted to the minimum facts required 
immediately. Frequently, supplemental facts are obtained at first in 
an attempt to meet probable or possible demands for facts at a later 
date. 

Often it is necessary to postpone solution of a problem until the 
specific facts required are obtained. An efficient scheme for obtaining 
facts depends on balancing the cost of having facts available — either 
too many or too few — against the benefits that can be derived from 
having the necessary facts when they are wanted. The point is that 
it is probably impossible to obtain just the right set of facts about 
events "today." Your choices are to try to reconstruct facts about yes- 
terday or to wait for "tomorrow" in order to gather the necessary facts 
about events as they occur. 

Document Production 

The preparation of readable documents is an important phase of 
data processing. Documents are still a common means of communi- 
cation between most companies, and they are widely used within com- 
panies that have manual data-processing systems. Much effort, often 
called "paper work simplification," goes into improving document 
standardization, preparation, and flow, partly because the handling of 
documents can be improved without making radical changes in either 
equipment or organization. 

It is usually taken for granted, where data collection is done by 
people and the output from processing goes to people, that readable 
documents are required. The need for documents that are readable by 
people is reduced, or even eliminated, when equipment is used for 
gathering and processing data. The output of machines at one stage — 
whether punched tape, cards, or machine-readable printed charac- 
ters — can be used as input at the next stage of processing, in either 
the same or a different company. The use of readable documents is 
sometimes restricted to small-volume operations where mechanization 



4 ORIENTATION 

at the next stage is not feasible. Among the readable documents that 
will continue to be used for many years are bills to customers and re- 
ports to managers. 

Management Information 

An important reason for developing elaborate schemes for process- 
ing data is to supply company management with the critical facts 
needed to control operations. The word "data" might be used to cover 
all the facts that are obtained. Another word, such as "information,'' 
is needed to cover the particular facts that management wants to know. 

Although information is derived from data, information has some 
qualities that can serve as a guide in processing data. A manager in a 
company is interested in securing facts about operations for which he 
is responsible. He wants these facts to be accurate, of recent origin, 
and related to problems he can solve by his decisions. Further, a man- 
ager is more interested in learning about unpredictable rather than pre- 
dictable developments. He has no need to be told repeatedly some- 
thing he already knows. Thus, the idea follows that information should 
have an element of newness or novelty about it; it should deal with 
the unexpected. 

Some examples will help distinguish "data'' from "information." 
Newspapers are bought for information; one who already knows the 
paper's contents, either because so little is happening or because edi- 
tions are published too frequently, will not buy it. The Loch Ness 
monster is said to be a summertime phenomenon created to stimulate 
interest in Scottish newspapers. Reporting unexpected or little-known 
facts, such as the costs of jobs that exceed a standard, is an example 
of selecting and emphasizing items to increase the readers' attention. 
The facts that are on standard may be included for completeness or 
omitted for brevity, according to the readers' interests. 

The difference between a mass of facts and a few critical facts is 
illustrated by the plight of a business man who furnished 1,350 pounds 
of records to a tax collector. He was brought to court by the collector, 
who wanted five additional books, weighing only 10 or 20 pounds, 
that he considered critical. Every day business men are given pounds 
of reports when they want only a few critical facts. Managers do not 
really care about source reports, documents, and data, although these 
are useful elsewhere in the organization. 

The nature of information can be described, but it is difficult to 
measure information itself as a quantity. Whether a new system will 
produce better information than the old system did is difficult to de- 
termine, even after the new system is introduced. Information pro- 
duction (as opposed to routine data processing) and the related areas 
of management control, including automatic decision making, are 
challenging and profitable areas of study. 



INTRODUCTION 5 

HOW DATA ARE PROCESSED 

The basic functions of processing data are not new. People re- 
sponsible for operating any enterprise — business, government, or other- 
wise — have long processed data to obtain facts about operations and 
information for their control. 

The basic operations involved in processing data with any kind of 
facilities are these: to originate data; to manipulate, according to some 
plan, the new data and files prepared in an earlier cycle; and to report 
results. These three operations include elements related as follows: 

1. Obtaining new data inputs to the system. 

2. Manipulating data according to a prescribed plan. This requires: 

(a) a storage unit to hold data and processing instructions. 

(b) an operating unit to perform arithmetical and logical operations. 

(c) a control unit to manage operations. 

3. Producing output documents, reports, or instructions for action. 

Origination of Data 

The origination of data includes the three stages — collection, 
conversion, and verification — required to get facts into a form suitable 
for processing. 

Data Collection. "Data collection" captures facts when they^ are 
available; they may be processed later, when needed. For example, 
the Time an employee starts or stops work on a particular job may be 
recorded in writing by a timekeeper, stamped in numerals by a time 
clock, or punched into a card. A storekeeper identifies and counts any 
material received in the stock room in order to prepare a receiving 
report. Requisitions for material, on the other hand, specify the de- 
sired quantity and serve as the original record of the transactions by 
which such quantities are issued. Employees of utility companies indi- 
cate customer meter readings by marking cards which are later run 
through equipment that "senses" the marks and punches them. 

Data collection often starts with the manual operation of key- 
boards that punch cards or paper tape or that record on magnetic tape. 
New input data may be only a .small part of the total data handled 
at each cycle; the inventory file, for example, is used repeatedly to 
introduce necessary changes for receipts, issues, and price changes, 
as well as to introduce and delete items. Data already in files are much 
easier to handle than new data, because "master" cards or tapes may 
be selectively duplicated for use as new input data. The date, batch 
number or transaction serial number, and fixed data can be entered 
automatically during the data collection operation. 

Several devices recently developed for business use are capable 
of automatically collecting data in machine-processable form. One 



6 ORIENTATION 

class of automatic devices yields data in a machine-processable form 
that is not readable by people. Examples of such devices are point- 
of-sale recorders, transaction recorders, and time clocks that punch 
tape or cards. Another class of automatic data collection devices pro- 
duces numerals and letters on paper or cards in a form readable by 
both machines and people. Character-reading machines "read" the 
characters and convert them to a form suitable for automatic process- 
ing. Great improvements have been made in character-recognition 
equipment in recent years; some equipment is now capable of reading 
even handprinted numerals and letters. 

The manual operations of reading and writing, typing, or key 
punching are widely used for data collection. Other important tech- 
niques are pre-preparation of constant data, by-product preparation 
as part of other operations, and duplication from card, plastic, or metal 
plates. A simple time clock records the basic facts for a transaction; 
a more complex clock might record all the facts — worker, time, job 
involved, and units produced — and thereby deserve the name, "auto- 
matic transaction recorder." 

Data Conversion. The medium that is most efficient for the 
original collection of data — paper, cards, tape — must often be con- 
verted to a different medium for further use. Some companies, for ex- 
ample, initially record inventory counts on audio tape recorders; con- 
version is thus required for further processing. People are able to work 
with oral, handwritten, or typed data; but equipment usually requires 
that data be recorded in a carefully prescribed form. Data from hand- 
written documents may be manually punched into cards or tape or 
written on magnetic tape for input to automatic processors. In some 
cases, punched tape or cards are prepared manually and then converted 
automatically to magnetic tape for input. 

Machines are used to read typed, printed, or even handwritten 
characters and to convert them to a form suitable for machine process- 
ing. Enough research has been done to indicate the feasibility of audio- 
recognition devices for automatically converting the spoken word into 
a form suitable for further processing. 

The form in which data are originally captured and the nature of 
subsequent conversion depend on several things: the volume of data in- 
volved, the number of points of origination, the permissible financial 
investment at each point of origination, transmission requirements, 
conversion costs, and the most efficient form for use in subsequent 
stages. Large volumes of data originating at a few points warrant large 
investments in elaborate collection and conversion facilities. 

Data Verification. Data are verified to obtain a desired degree 
of accuracy. The standard "a desired degree" does not imply perfec- 
tion. Some inaccuracies, a slight misspelling of a name, for example, 



INTRODUCTION 7 

are trivial; but other inaccuracies, say, crediting the wrong customer 
for a collection on account, may be intolerable. Verification includes 
checking data to determine whether they are complete, plausible, 
and acceptable. 

In general, a complete transaction involves four elements: (1) 
parties to the transaction (one of which is the firm itself), (2) identifica- 
tion of what is involved, (3) quantity involved, and (4) the date of the 
transaction. A receipt of material, for example, involves identification 
of the vendor and receiving clerk, description or stock number of the 
item, the number of units, and the time received. A receiving report 
that omits any of these is incomplete — a fact that can be verified im- 
mediately after origination. 

Implausible mistakes are those serious enough to halt processing 
until they are corrected; although they may be set aside so that other 
operations can continue. An alphabetic character in a numerical state- 
ment of an amount is an implausible mistake because it defies further 
processing: an alphabetic quantity cannot be multiplied by unit price 
to find value. 

A mistake that is plausible, as an incorrect numeral in numerical 
expressions of quantity, will not prevent further processing; but it will 
be unacceptable because all further calculations based on it will be 
inaccurate. An example of this type of mistake would be the reporting 
of 180 hours worked by an employee in one week. This figure is ob- 
viously incorrect; it is plausible because the quantity 180 consists of 
numerals only and could be multiplied by the wage rate, but unaccept- 
able because the result is certain to be incorrect. 

A mistake that is plausible but probably intolerable arises when 
the data, though processable, are outside of normal range. It is logically 
possible, for example, that an employee could work 80 hours in a week, 
but it is improbable even with a two-shift operation. Processing may 
be continued and the data flagged or noted to be verified subsequently. 

To summarize: the point at which input data are verified and the 
method of verification depend upon what other facts are needed to 
detect a mistake and on the consequences of not correcting it at the 
earliest possible stage. 

Manipulation of Data 

Manipulation includes the operations of rearranging and process- 
ing data, with the word "processing" narrowly defined. 

Rearranging. The rearrangement of data involves changing the 
sequence and introducing or extracting items without affecting their 
content through computations. The need for rearrangement of data 
arises in several ways. Data may be initially mixed or jumbled, as when 
two or more kinds of transactions originate together but may require 



8 ORIENTATION 

separate handling thereafter. Data about, say, payroll, inventory, and 
sales, received over a wire circuit, are usually classified or sorted by 
type because processing procedures and files are designed to cope with 
one class of transactions at a time. The task of sorting transactions by 
type is minimized by specializing the organizational arrangement so 
that only one or a limited number of types of transactions originate 
together. Such specialization also facilitates enforcing control over 
who can originate certain kinds of transactions, such as issuing ma- 
terial, authorizing payment of bills, or inquiring about the contents 
of restricted files. 

A second kind of rearrangement of data arises when each type of 
transaction is used to produce several outputs. Depending upon the 
kind of output desired and the file arrangement, the transactions may 
have to be arranged in different sequences for efficient processing. 
Consider the steps involved in processing orders received from custo- 
mers. Orders are the basis for sales analysis, customer accounting, 
inventory and production control, and salesmen's compensation. Data 
on sales might be summarized by geographical area or by product 
class without sorting into any sequence. If efficient processing methods 
require that the customer or inventory file be kept in a certain order, 
then transactions are sorted into that sequence before updating a par- 
ticular file. Sorting into a new sequence may be required before the 
transactions can be processed against another file organized in a dif- 
ferent sequence. Two sets of sorted data already in the same sequence 
may be merged to obtain one over-all sequence most efficiently. For 
example, inventory transactions for the first four days in a week can 
be sorted into sequence according to stock identification number, and 
transactions for the fifth day can be sorted separately. Merging the 
two sequences into one reduces the work load after the end of the week 
and gets results sooner. 

Closely related to the need for arranging transactions in the same 
sequence as the file before processing them is the problem of keeping 
the file itself in a specified sequence and eliminating inactive records. 
File maintenance for customers' accounts, for instance, may involve 
inserting records for new customers in alphabetic sequence and delet- 
ing inactive records. Files kept on magnetic tape are often arranged in 
alphabetic or numerical sequence and are most efficiently processed in 
the same sequence. 

Random-access equipment is designed to handle transactions 
without regard for file or transaction sequence. In such a case, a file 
containing records arranged in one sequence and transactions in a 
different, perhaps a random sequence may be processed together satis- 
factorily. If facilities are available for random-sequence processing, 
then changes introduced into the file need not be in any particular 



INTRODUCTION 9 

sequence and rearrangement of the whole file could be avoided. In 
cases where random-sequence processing cannot handle occasional 
items, these items can be processed with new input — in which case 
the carry-over items and new transactions may be arranged in the same 
sequence for more efficient processing. 

A third example of rearrangement occurs when the elements of 
data in an item are in one sequence but are wanted in a different se- 
quence. Rearrangement within an item may be handled during either 
the input conversion or the output printing operation. 

Processing. The term "data processing" encompasses the whole 
range of operations from input of data to output of results. The word 
"processing" alone is usually restricted to those operations not in- 
cluded in data origination, rearrangement, and output. Processing thus 
involves the following kinds of operations: updating files for inventory 
receipts and issues; computing gross and net pay; making decisions 
based on quantitative criteria, such as allowing a customer further 
credit if the amount and age of his balance are within credit limits; 
estimating sales based on predictions of market behavior, advertising 
expenditure, and economic forecasts; converting sales estimates into 
material requirements, labor estimates, and production schedules; 
summarizing numerous individual transactions into a few numbers; 
recognizing and dealing with exceptional cases; looking up table val- 
ues, such as prices or discounts applicable for various quantities; and 
compiling and recording desired output. 

Ancillary to these processing operations are some others used to 
insure accurate results: verifying data by comparison with facts already 
in files; controlling input data to guard against losing a valid transac- 
tion or introducing a spurious transaction; checking arithmetical ac- 
curacy by repeating operations or by performing them in parallel 
through separate channels, as in having two bookkeepers in a bank 
post the same depositor's account on separate machines to reduce the 
risk of inaccurate results; and determining that prescribed procedures 
are actually used. When precautions to insure accuracy are required to 
facilitate processing, they are incorporated in the main stream of pro- 
cessing. On the other hand, some precautionary measures are used 
primarily to keep interested parties — management and auditors — 
informed; such measures are used in addition to, rather than included 
in, the main stream of processing. 

Some operations are often considered non-productive because 
they merely facilitate performance of operations that are directly re- 
lated to the desired output. This classification corresponds to the 
indirect-direct labor classification in factory operations. Actually, all 
essential operations are productive because work done at one stage 
facilitates work at another. Consider the consequences resulting at 



10 ORIENTATION 

a later stage because of plausible but unacceptable mistakes in data 
collection. An issue of materials charged against an incorrect number 
may later cause the creation of a new account with a negative balance, 
go to the wrong account, be set aside for investigation, or halt pro- 
cessing until the mistake is corrected. Verifying identification numbers 
against a master list at an early stage of processing may improve over- 
all efficiency. Keeping file maintenance (insertion and deletion of rec- 
ords) separate from file processing (updating records in the file) may 
be more efficient than trying to do both at one time. 

Output 

Output preparation follows the origination and manipulation of 
data. Processed results are seldom in precisely the form desired, so it 
is often necessary to select what is wanted and to present it in accept- 
able form. Job manufacturing costs are examples of output reports on 
what has happened. A manufacturing schedule is a forecast of what 
is supposed to happen. A simple example of an action document is a 
bill for a customer to pay. The content, frequency, and format of out- 
put are determined jointly by the people who use the output and those 
responsible for processing it. 

Methods of output preparation depend on whether demands are 
scheduled over a period of time, the length of time available for meet- 
ing the demands, and the ability to forecast what will be demanded. 
Some examples will show how these factors bear on output prepara- 
tion. It would be simple to prepare an annual report of fixed assets 
within one month after the end of the year if the assets are classified 
by number of years owned (less than one year, one to five years, and 
so forth). If the data about fixed assets are available and activity was 
low during the year, there would be ample opportunity to plan pro- 
cedures, and the permissible one-month delay in processing would 
allow fairly smooth scheduling of work. 

Output preparation would be more difficult, however, in cases 
where the number of transactions is high and the reporting interval 
and permissible delay in processing are short. Buyers (merchandise 
managers) in a department store might want weekly reports of receipts, 
sales, and inventory for each item by the following Monday afternoon. 
This demand would put heavy loads on the system, but the work of 
output preparation would be several times greater if buyers wanted 
daily reports at 10 a.m. every morning. Entirely different file-process- 
ing methods might be required, however, if buyers wanted up-to-the- 
minute reports of sales activity or an inventory about any one item. 
Furnishing quick answers to questions about current status involves 
continual updating of files and complex interrogation equipment. 

Outputs not anticipated in advance may pose extremely difficult 
problems; novel output requirements involve new output-preparation 



INTRODUCTION 11 

methods, and they are likely to require new processing techniques 
to get desired results. Still worse, unexpected output requirements 
may demand the use of data that are not readily available, if at all. 
Or data may be available in a raw form that is not economically feasible 
to process. An equally perplexing situation may result from an imme- 
diate need for data which, although once collected, have been dis- 
carded. In some cases, it may be possible to reconstruct data, but in 
others it is necessary to start afresh. For a simple example, an oil com- 
pany may ask, "Do service stations on the right-hand side of a street 
leading out from the center of town sell more gasoline than those on 
the left?" Answering this may require obtaining, for the first time, 
data about station location to be used in conjunction with sales data 
already available. The question, "Do left-handed employees sell more 
than right-handed ones?" may not be answerable either because data 
are not available or because the turnover of employees makes it im- 
possible to reconstruct the data. It is impossible to answer this dis- 
armingly simple question until enough time elapses to permit gathering 
new data. Often, even incomplete statistics cannot be reconstructed, 
so that unanticipated questions pertaining to the past are not answer- 
able. The most open-ended output requirement, and probably the 
most difficult to deal with, springs from the question: "Look, we have 
these kinds of facts on file; what types of useful reports can we pre- 
pare from them?" 

In summary, data processing involves (1) collecting data for new 
transactions; (2) manipulating new inputs and data already in files 
according to prescribed plans; and (3) producing output documents, 
reports, and instructions for various purposes. 

PROCESSING FACILITIES 

In order to reduce the "how" of processing data from general 
to concrete terms, it is necessary to consider the facilities that are used. 
The facilities must be capable of receiving input data, manipulating 
data according to some plan, and producing output. Manipulation, 
which is a critical element, demands facilities capable of (a) control- 
ling operations to follow the prescribed plan, (b) storing data and pro- 
cessing instructions, and (c) performing arithmetical and logical opera- 
tions. Many kinds of facilities are used to process data; in the broadest 
sense, they range from people working without benefit of equipment 
to equipment operating with little aid from people. 

People 

Mechanistically considered, a human being was the earliest form 
of data processor. A person receives input data chiefly by seeing or 
hearing them and stores them in his brain, which also serves as an 



12 ORIENTATION 

operating and control unit. Outputs are oral or written reports and 
various physical actions. 

A human being is a remarkable data processor because he operates 
with an internally stored program. That is to say, the brain contains 
instructions and data, controls the execution of instructions, and modi- 
fies them to suit the situation. Consider the simple problem of com- 
puting inventory value from the following facts: 

Quantity Price Amount 

32 1.30 

67,000 .40 per C 

1.480 — 

BCDA 9.23 

An experienced clerk or a calculator operator has enough instruc- 
tions in his head, or in equipment operating booklets or company man- 
uals, to find computing procedures. An answer of $41.60 for the first 
item seems correct, although the money unit is not stated. The "per C" 
in the second item probably means "per hundred," and raises the ques- 
tion whether quantity and price are in comparable or different units, 
for by one interpretation the amount is $268.00 and by the other, 
$26,800. The third item raises two questions: Is 1.480 actually 1.480 
or a mistake in writing 1,480? Where can the price for the third item 
be obtained? The fourth item poses the problem of multiplying BCDA, 
which might mean 2341, or some other quantity in code, by 9.23; this 
is so absurd that the clerk may stop and appeal for clarification. What 
appears at first to be a simple problem — to multiply quantity by price 
to get amount of inventory value — turns out to be quite intricate on 
close examination. 

The human mind can perform, or at least control, the performance 
of many different operations: starting work, getting instructions and 
data, adding, subtracting, multiplying, dividing, remembering results, 
moving or "indexing" from one set of data to the next, comparing two 
items and modifying instructions to follow a different path depending 
upon the outcome of the comparison, putting out results, and, of 
course, stopping when completed. The ability to select the subsequent 
processing path dependent upon the outcome at any stage is invaluable 
for modifying operations as they are being performed. In calculating 
gross-to-net pay, the rule for making deductions may be to stop if net 
pay falls below a certain amount, say, $15.00. A person computing 
pay would unconsciously apply this rule if gross pay appeared large 
enough to cover all possible deductions. More care would be exercised 
and deductions would be applied one at a time, if net pay approached 
this criterion. Any remaining deductions would be skipped for that 



INTRODUCTION 13 

employee, but the original procedure would, of course, be applied 
for calculating the next employee' s net pay. 

The human mind is a very adaptable processor, but it is some- 
times unreliable. The mind is slow in performing arithmetical opera- 
tions and erratic in applying logical rules. Where judgment is required, 
people are indispensable because some operations of data processing 
and decision making are inseparable. Even the most elaborate data- 
processing systems, as will be shown later, require people to make 
decisions at some stages because of the extreme difficulty of planning 
to handle every eventuality. A person unaided by other facilities is 
an efficient processor for small, relatively simple situations and is a 
vital element of every data-processing system. 

Oral communication is widely used when no documentary record 
is required. It is not always desirable because of the noise in trans- 
mission and the requirement that both speaker and listener must be 
available and functioning on-line in order to communicate. 

Records 

Records were the earliest aid developed for processing data. Con- 
sisting first of pictures and marks, writing now relies on "alphabets'' 
of letters and numerals. Business alphabets consist of ten numerals, 
twenty-six letters, and other symbols, called "alphanumerals," that 
allow compact storage of huge quantities of facts. The alphabets are 
often represented as A through Z; through 9; #, ., &, /, $; and, 
perhaps, a through z. Characters are also represented by punched 
holes in cards or paper tape and by positive and negative charges in 
magnetizable material. The familiar shape of A, B, C and so on is often 
altered in favor of other schemes that are more efficient for processing 
purposes, although not readily usable by people. 

Records, viewed in the broadest sense, increase tremendously the 
size and reliability of data storage, which would otherwise be restricted 
to what people can remember. Schemes for representing characters 
also provide a simple way to transmit data. People remain responsible 
for data input, control, and output, unless aided by other processing 
facilities. 

Limited-purpose Office Machines 

The development of modern calculating devices in the seventeenth 
century and of the typewriter in the nineteenth provided important 
aids for calculating and recording. 

Calculating machines perform simple arithmetical operations 
quickly and accurately and some of them print results on paper. Since 
people are slow and inaccurate at arithmetical operations, the inven- 
tion and improvement of calculating devices to add, subtract, multiply, 
and divide was an important step forward. 



14 ORIENTATION 

Manual writing speeds, sometimes as slow as ten words a minute, 
were increased to sixty words a minute by the typewriter. More im- 
portant, legibility was improved and the preparation of multiple copies 
with carbon paper and duplicating devices became possible. 

The functions of the calculator and the typewriter were combined 
to create bookkeeping and accounting machines, which have control 
bars to aid the operator in performing such multiple operations as 
preparing statements, ledgers, and journals. It is interesting to note 
in passing that an accounting machine intended for business purposes 
was used without modification in 1931 to compute nautical tables 
by the difference method (described in the history of computing in 
Appendix I). The use of an accounting machine as a "difference en- 
gine" for scientific calculations exemplifies the fact that users often 
apply machines to problems not foreseen by the designers. 

Limited-purpose office machines electrically powered for punch- 
ing and reading paper tape are widely used to reduce data to a me- 
chanically processable form and may do so as a by-product of other op- 
erations. Electric typewriters are used to print limited volumes of 
reports. 

Punched-card Machines 

The basic operations of punched-card machines are punching, 
sorting, calculating, and printing. Early versions of punched-card 
machines required manual effort in punching data in cards, handling 
cards individually during the sorting operation, and counting the 
sorted cards. Since 1890 machines have become more automatic, so 
that less manual effort is required to originate data, sort cards, make 
calculations, and copy results from tabulators. People handle cards in 
bulk and start, feed, tend, and stop machines. Present-day punched- 
card machines and electronic calculators, with people handling cards 
between stages, can receive punched input data, perform about a dozen 
different arithmetical and logical operations at the rate of 15,000 a 
minute, and produce printed reports or punched cards for further 
processing. The substitution of punched-card for manual processing 
may lead to important changes in procedures (Spinning, 1953). 

Electronic Digital Computers 

The most recent development in data-processing facilities is the 
electronic digital computer. The unique feature of an electronic com- 
puter, also called an "internally stored program computer," is the 
fact that operating instructions are stored in the same way and the 
same place as the data that are to be processed. Instructions stored 
in the computer memory can be manipulated exactly as if they were 
data. The capacity to change instructions as operations are being exe- 



INTRODUCTION 15 

cuted increases the applicability of instructions to a wide, although 
not unlimited, variety of situations that arise in processing. 

Electronic digital computers have been designed to execute a 
variety of instructions, both arithmetical and logical, ranging in num- 
ber from about a dozen to two hundred at speeds of a few hundred 
to a hundred thousand operations a second. High-speed execution 
of instructions is an important feature of electronic computers. For 
example, a company that spent 3 man-months calculating the critical 
shaft speed for a steam generator found that the same problem could 
be solved in 40 hours with punched-card machines, in 1 hour on an 
early model electronic computer, in 15 minutes on a later version, and 
in 15 seconds on a still newer model computer. The ratio of computer 
to manual time needed to solve the problem was 1 : 1 15,000. 

Automatic Data-processing Systems 

An automatic data-processing system performs standard data- 
handling operations with minimum manual help. Its chief feature 
is that it increases the ratio of equipment to labor used in processing 
data; but it is not entirely automatic (Montalbano, 1956). 

The equipment used in an automatic system includes an electronic 
digital computer with appropriate peripheral equipment for data col- 
lection, conversion, input, and output. High-speed computing requires 
comparable speeds for input and output to achieve efficiently balanced 
operations. 

An automatic data-processing system consists of the following 
components: 

1. An electronic data processor — digital computer. 

2. Peripheral equipment associated with the computer, such as data- 
preparation devices, input and output devices, and sorting devices. 

3. Procedures that tell what data are needed and when, how obtained, 
and how used. 

4. Instruction routines for the computer to follow. 

5. Personnel to operate and maintain equipment, analyze and set up 
procedures, prepare instructions, provide input data, utilize reports, 
review results, and supervise the entire operation. 

The data processor is a critical part of an automatic data-process- 
ing system. Use of an automatic processor permits important changes 
in methods of processing data. 

An automatic system consisting of suitable equipment and sup- 
porting personnel can: 

1. Bring specially prepared data into the storage element. 



16 ORIENTATION 

2. Perform a required sequence of operations on the data: 

(a) logical — sorting, file maintenance, file reference, file search. 

(b) arithmetical — addition, subtraction, multiplication, division. 

3. Make decisions to perform appropriate operations as dictated by 
changes in the data or intermediate results. 

4. Issue complete or selective reports after completing processing opera- 
tions. 

The alphabet for data, files, and reports for business is alpha- 
numerical, that is, it includes both alphabetic and numerical charac- 
ters. Large volumes of data are processed in conjunction with files to 
update the files and produce documents and reports. File contents 
are analyzed to find relationships and searched to answer simple in- 
quiries. Business-data processing involves repetitive cycles and tight 
time schedules for producing results that are intimately related to com- 
pany operations (Martin, 1954). 

Scientific and engineering computation generally deals with 
numerals only. Small volumes of data, which may be drawn from the 
business file or from facts about current operations, are intensively 
processed to answer specific questions, to prepare tables, or to con- 
trol processes. The distinction between business and engineering com- 
putations is not radical, and the use of equipment for one purpose 
may justify its use for the other. 

Comparison of Automatic and Punched-card Facilities 

A brief comparison of some features of automatic and punched- 
card facilities is useful since they are often competitors for business 
use. The capabilities of punched-card and automatic data processors 
are compared in Table 1-1. 

Automatic processing has an interesting and little-noticed feature. 
It is, in some ways, more similar to manual than to punched-card 
methods. Both people and automatic equipment use lengthy, in- 
volved operating routines to select and deal with desired items picked 
from a large number of items. Instruction routines are repeated, modi- 
fied, or discontinued as required by the facts of a situation or by the 
intermediate results computed during processing. 

Troublesome Aspects 

Two aspects, preparation of input data and use of output, have 
caused difficulty in the past and appear more deficient when automatic 
processing methods are used. Input data need to be in a suitable form 
and sufficiently accurate for efficient processing. The most common 
medium is paper containing handwritten or typed data. Collecting data 
on paper documents appears, at first glance, to be economical because 



INTRODUCTION 

Table 1-1. Comparison of Punched-card and Automatic 
Data-processor Equipment 



17 



Character- 


Punched-card 


Automatic 


istics 


Processor 


Data Processor 


Bulk stor- 


Stores data on punched 


Stores data on magnetic 


age of data 


cards 


tape drums or disks 


Manual 


Requires people to 


Requires people to 


handling 


handle cards fre- 


handle magnetic tape at 


of data 


quently — at each minor 


major stages of process- 


after pre- 


and major stage in 


ing only 


paration 


processing 




Data input 


Handles 100 to 1,000 


Handles input and out- 


and output 


cards a minute for a 


put at rates of 10,000 to 


rate 


maximum rate of 1,300 


100,000 and more charac- 




characters a second 


ters a second 


Computation 


Performs a few opera- 


Performs thousands of 


speed 


tions a second 


arithmetical and logical 
operations a second 


Number of 


Performs one or a few 


Performs a long sequence 


operations 


operations 


of operations 


on each 






pass of data 






Access to 


At any one time can refer 


Can select one item of 


data for 


to data on one or a few 


data out of hundreds or 


computa- 


cards 


thousands 


tions 






Versatility 


Follows a limited preset 


Changes pattern of op- 




pattern of operations on 


erations, within broad 




each pass of data 


limits, depending on data 
received or results pro- 
duced 



anyone can do the work and little equipment is required, so that data 
can be gathered on the spot. Actually, it is difficult to instruct pro- 
perly all the people involved and furnish suitable working conditions. 
Paper documents have the deficiency that the data on them need to be 
converted to a machine-processable medium — punched tape, punched 
cards or magnetic tape — for efficient processing in the next stage. Some 



18 ORIENTATION 

types of manually prepared media — marks in certain locations and 
even carefully written characters — can be converted automatically to 
machine-processable form, although this is being done only on a lim- 
ited scale at present. 

Data need to be accurate enough to meet the standards of ac- 
curacy imposed by output requirements. It is also important that input 
data be accurate enough to be processed economically, considering 
the methods and equipment that are used. An example will help clarify 
these points about accuracy and economical processing. An important 
problem in magazine publishing is subscription fulfillment. A sub- 
scriber, Howard R. Jones, 420 Spring Ave., Austin, Minn., may try to 
renew his subscription by sending money and one of the following 
facts about himself: 

1. Howard R. Jones, 420 Spring Ave., Austin, Minn. 

2. Jones Howard, 420 Spring Ave., Austin. Mi. 

3. H. R. Jones, 420C Spring Ave., Austin 

4. H. R. Jones 

5. Nothing to identify himself 

Discrepancies may exist in inversion, transposition, abbreviation, 
omission or addition; in fact, ten per cent or so of the renewals received 
by a magazine publisher have one or more discrepancies. 

Input data corresponding exactly to the file are most economically 
processable by any method. The second type of input data — names 
reversed and state abbreviated more than typically — causes some diffi- 
culty because it is necessary to decide, by looking at either the renewal 
application or the record in the file, whether Jones or Howard is the 
surname and whether "Mi." corresponds to "Minn." In the third case 
the letter "C" may designate an apartment not previously indicated 
in the file record, but omission of the state may cause some difficulty 
in deciding which of six cities named "Austin" in the United States 
was intended. The fourth case is more difficult to process because it 
maybe necessary to search the file for all H. R. Joneses as well as Joneses 
whose names might have the initials "H. R., and try to isolate one. 
A search of this type is difficult to perform with any data-processing 
system where only a few items in the file are available for examination 
at one time. The fifth case is not processable by any system using either 
manual, automatic, or other techniques; in time, Jones will probably 
complain and properly identify himself. 

Clerks preparing input data make mistakes too — "H. R. Jones" 
may become "H. R. James" in the manual input operation. 

Systems built around manual operations create mistakes but, 
somehow, seem to keep functioning. Automatic equipment is likely to 
have more difficulty dealing with erroneous input data. Data are re- 
jected and processing operations hang up. However, some ingenious 



INTRODUCTION 19 

processing schemes have been developed to have the data processor 
edit the data and do a better job of file searching than people ordinarily 
do. For example, a name can be searched against several variations 
of the name — with and without initials, first and second names inter- 
changed — if the input data as received does not match a record in 
the file. 

A second general problem in business-data processing is finding 
the most efficient use of information for decision making. In order to 
utilize a report, a person must find the item or items of interest, cor- 
rectly interpret the meaning of what he reads, obtain available re- 
lated facts, apply proper rules of decision making, arrive at a decision, 
and carry out the decision. Some of these operations might be per- 
formed by the data-processing system, instead of by a manager relying 
on reports and his abilities. 

The first step in decision making, finding the items of interest, 
can, to some extent, be handled by a data-processing system reporting 
off-standard or unexpected items — "exception reporting." It is pos- 
sible to carry this idea further and process only those data pertinent 
to decisions. In order to do this, the program must provide for measur- 
ing pertinence at an early stage and follow an appropriate path there- 
after. 

For some applications, all the processing steps — from finding 
items of interest to carrying out decisions — might be handled by the 
equipment. In some mass-production industries, such as auto manu- 
facture, the data-processing system may be directly connected to the 
factory to control the assembly of engines, bodies, trim, upholstery, 
and color into automobiles. 

When the cost of processing data is reduced, the preparation 
of input and utilization of output become relatively more expensive 
than before unless their costs are also cut. The problems of input pre- 
paration and output use seem more acute merely because they have 
not been improved as much as the processing operations handled by 
the computer itself. 

AN EXAMPLE OF BUSINESS-DATA PROCESSING 

The problem of sales analysis for the General Appliance Com- 
pany — which involves accumulating, analyzing, summarizing, and re- 
porting sales and inventory data to managers in charge of marketing — 
is used to illustrate processing by manual methods and by automatic 
equipment (The General Electric Company Sales Analysis Applica- 
tion, 1957). The company has four decentralized departments, each 
making a major home appliance: stoves, refrigerators, washers, and 



20 



ORIENTATION 



air conditioners. Distribution is handled through company branches 
(dealing in appliances only), company supply houses (handling ap- 
pliances and other products of the company), and independent firms. 
Figure 1-1 is the general scheme for using manual processing of 
inventory in doing sales analysis. Data available at the central office 
are shipments from a warehouse to a distributor (which are used as 
receipts for a distributor after an appropriate time delay), distributor 
reports of sales, and the sales file resulting from processing the prior 
week's sales. A clerk processes the shipment (receipts) and sales to 
update the file and prepare the transaction lists. The general scheme 
of manual processing is similar to the computer run shown later. 



Year-to-date 
distributor sales and 
inventory file 



Shipments (from 
prior operation 




Transaction lists, 
reports for today 



Updated distributor sales 
and inventory file 



Figure 1-1. Manual processing of distributor sales and inventory 



INTRODUCTION 



21 



1 Read the first 










inventory 
stock number 




V 








*- 


2 Is there a transaction 
for this stock # ? 














No 


Yes 




3 Add receipt to 
inventory 
ledger 






















V 






u 




4 Write new 
quantity 






5 Is there a sale for 
this stock number? 






^ 










No 


Yes 






6 Subtract 
sales from 
inventory ledger 






















yf 










7 Write new 
quantity 


1 1 Take next 
inventory 
stock number 






1 


r 


i 


i 






8 Add sales to 
year-to-date 
sales record 






1 


r 




1 


r 






10 Is this last stock 
item? 




9 Write new 
quantity 








No 


Yes 














y 


r 






1 2 Issue year-to-date 
sales report 






y 


r 






1 3 Put away papers 
and ledgers 





Figure 1-2. Steps involved in processing distributor sales and inventory 



22 ORIENTATION 

Figure 1-2 shows the steps involved in a manual processing of 
distributor sales and inventory. This flow chart includes start and input 
(step 1), input (11), arithmetical functions (3, 6, and 8), logical func- 
tions (2, 5, and 10), output (4, 7, 9, 12), and stop (13). Simplified flow 
charts of this type are made more detailed and elaborate during actual 
systems analysis and computer programming. 

For many years the marketing section of each department had 
maintained a punched-card system to process manually prepared data. 
The requirements overtaxed the methods used, because facts were not 
available from which all departments could project requirements for 
material purchases, warehouse storage, advertising expenditures in 
selected areas, and other needs. Analysis indicated that with complete, 
current marketing data covering sales activity in the field, each de- 
partment's marketing section could determine nationwide sales trends, 
forecast future sales, and better regulate production in the factory. 

To compute distributor inventory, the new system, built around 
an automatic data processor, relies on weekly reports of sales by prod- 
ucts at company branches, supply houses, and independent firms, 
and on monthly reports of warehouse shipments to each distributor. 
The basic model file, listing the model number of all appliances pro- 
duced in each department, is the foundation of the sales analysis plan. 
The basic model file contains data on standard cost, federal excise 
tax, average transportation cost, allowances for complaint, and re- 
placement costs. This file is maintained by adding new models and 
deleting discontinued models. Other data are changed as new estimates 
are calculated. 

Distributor inventory of each model is computed from warehouse- 
reported shipments and distributor-reported sales. Weekly sales and 
inventory statistics are projected into monthly and year-to-date ac- 
cumulations. Marketing managers use these sales reports to analyze 
retail trade, to study the sales of each model, and to divert shipments 
to understocked distributors. Monthly and year-to-date quotas for each 
distributor are compiled and entered on the report at the close of the 
fiscal month. Other reports prepared automatically, and their content, 
are these: 

1. Distributor gross margin report — by distributor, to show each ap- 
pliance model, the number of units, and dollar sales for month and 
year-to-date with gross margin in dollars and as a percentage of sales. 

2. Transaction register — by appliance, to show all transactions between 
factory warehouses and distributors. Used to make simple analyses 
and to answer questions not deserving automatic processing. 

3. Warehouse shipments report — monthly extract from transaction re- 
gister used in accounting section to adjust or reconcile book inventory 
for each warehouse. 



INTRODUCTION 



23 



4. Journal entry — summary of all transactions during month used to 
integrate statistical data with general accounting. 



Basically, this sales analysis application consists of a series of 
weekly and monthly computer runs. The process chart in Figure 1-3 
shows the fundamental idea of a computer run. Valid warehouse ship- 
ments to distributors and sales by distributors are processed with the 
master file of distributor sales and inventory; this produces a distri- 
butor sales and inventory tape. The valid shipments tape was produced 
in a prior run, and weekly sales are converted from card to tape prior 
to starting the run illustrated. 

Weekly sales 



y 








y 








f 


\ 


f 





Valid shipments tape 
(from prior run) 



Card to 

tape 
converter 



Sales 



tape 



Year-to-date 
distributor sales and 
inventory tape 




Automatic 
data processor 




Distributor sales and 
inventory report 



Updated 

distributor sales and 
inventory tape 



Figure 1-3. Automatic processing of distributor sales and inventory 



Table 1-2. Sales Analysis Runs and Output From Computer 



Run Number, 






Output 


Name, and 


Input 


Processing 










Frequency 






Tape for Run 


Report 


1. Transaction 


Weekly 


Check model number of 


Valid warehouse 


Weekly trans- 


(weekly) 


transactions- 


transaction against 


shipments 


actions 




shipments 


file number 


tape 2 


register 




tape 


Sort and edit transac- 








Basic model 


tions by distributor 








file tape 


and product line 






2. Distributor 


1 Valid 


Compile weekly, 


Inventory and 


Updated year- 


sales and 


warehouse 


monthly, and year- 


year-to-date 


to-date 


inventory 


shipments 


to-date sales by 


sales and 


distributor 


(weekly) 


tape 


distributors 


distributor 


sales and 




(2) Inventory 


Compute inventory of 


quota tape (2) 


inventory 




and year-to- 


each distributor 




report 




date sales and 


Add weekly sales of 








distributor 


distributor to year- 








quota tape 


to-date distributor 
sales and inventory tape 






3. Cost com- 


Weekly 


Merge weekly trans- 


Monthly transac- 




putation 


transaction 


actions by product line, 


tions tape 4 




(monthly) 


tapes for 
month 
Basic model 


model, and distributor 


Year-to-date 






Compute, for each 
transaction, standard 


distributor 






file tape 


cost, federal excise tax, 
transportation cost, 
and replacement cost 


gross margin 
tape 5 




4. Warehouse 


3 Monthly 


Sort monthly transac- 




Warehouse 


shipments 


transactions 


tions by warehouse 




shipment 


(monthly) 


tape 


number 

Extract and edit data 
for warehouse ship- 
ments reports 




report 


5. Gross mar- 


3 Year-to- 


Compute factory gross 


Updated year- 


Distributor 


gin 


utor gross 
margin tape 
(5) Monthly 


margin for each 


to-date distribu- 


gross margin 


(monthly) 


distributor 

Add current month's 


tor gross margin 
tape (5) 


report 




gross margin 


gross margin to 








tape 


year-to-date total 






6. Transaction 


3 Monthly 


Summarize monthly 


Summarized 


Monthly trans- 


(monthly) 


transactions 


transactions by 


monthly trans- 


actions 




tape 


distributor type 
Extract and edit data 
for monthly trans- 
action register 


actions tape 7 


report 


7. Accounting 


6 Summar- 


Prepare trial balance 


Departmental 


Sales journal 


(monthly) 


ized 


or journal entry for 


general ac- 


entries 




monthly 


month's transactions 


counting 






transactions 


Duplicate trial bal- 


tapes X 






tape 


ance on four depart- 
mental accounting tapes 







INTRODUCTION 25 

Table 1-2 shows seven runs involved in sales analysis. The second 
run, distributor sales and inventory, is essentially the same as that 
already illustrated. Tracing each of the runs from input through proc- 
essing to output will reveal that output is often used in a succeeding 
run; for example, in run 1, the output, "valid warehouse shipments 
tape 2," is used in run number 2, distributor sales and inventory. In 
some cases the output is used in the next cycle of the same run, as in- 
dicated by a number in parentheses; for example, tape output of run 2, 
"inventory and year-to-date sales and distributor quota tape (2)," is 
used as input for run 2 in the next cycle. 

The automatic system of sales reporting makes it possible to have 
current facts from two levels of distribution — factory warehouse and 
wholesale distributor. It is also valuable for enabling management 
to do the following things: 

1. Know sales activity in the field. 

2. Analyze seasonal sales patterns. 

3. Compare activity of wholesale distributors. 

4. Regulate factory production and employment. 

5. Forecast future sales trends. 

6. Study customer reaction to products. 

7. Complete general accounting and cost accounting. 

8. Plan advertising campaigns. 

For the General Appliance Company, the most important benefit 
of using a computer for sales analysis is the fact that weekly reports 
can be obtained easily, while under the manual system they were not 
practical because of the time required to produce a comprehensive 
analysis. Other advantages are shorter processing time, increased ac- 
curacy, and reduced clerical costs. Centralized processing of shipments 
to distributors and of sales by them makes it possible to determine in 
advance what appliances will be needed to replenish depleted distri- 
butor stocks. 

IMPLICATIONS FOR MANAGEMENT 

The introduction of automatic data-processing systems into busi- 
ness has many implications for management. Manpower, space for 
processing and storage of data, and costs per unit of data processed 
may be reduced. On the other hand, if the work load increases greatly, 
total costs may increase. The total work load frequently increases when 
unit costs are reduced because it is practicable to collect and process 
data that were previously ignored. 

Another advantage lies in the production of more accurate and 
recent information. Often the processing delay — the time between 



26 ORIENTATION 

occurrence of reported events and the availability of reports — can 
be greatly reduced. A shorter delay in processing may make more fre- 
quent reporting practicable. In some cases the use of more equipment 
may increase the delay in getting certain results even though the aver- 
age delay is shortened considering all output as a whole. This corre- 
sponds to the situation in mass-production industries where elaborate 
tooling is used for quick production of many units although a few 
units or a special model might be completed sooner by hand. Decreased 
manual handling increases accuracy by eliminating certain types of 
mistakes. Two major areas where mistakes occur — preparation of input 
data and interpretation of reports — require special attention for im- 
provement. 

Some benefit may be gained from overcoming inertia. Almost 
everyone in an organization knows how operations can be improved; 
but often, changes are not made for various reasons. Either no one is 
available to plan changes, or someone might be offended by them. 
The enthusiasm and effort generated by a study for a proposed auto- 
matic data-processing -system are useful for making long-overdue 
changes. Some observers say that the fear of change is a greater ob- 
stacle to adoption of new methods than is inertia. But it appears that 
introduction of new equipment facilitates the immediate adoption of 
many changes that can be refined later for more efficiency (Gregory, 
1955). This viewpoint reflects the belief that people are often more 
willing to use new equipment than to accept novel ideas. 

Present and future developments in data processing will impinge 
on four fields of management: (1) decision making, (2) human rela- 
tions and supervision, (3) planning and operations, and (4) company 
or agency growth. 

Decision making will become more efficient because a manager 
will spend less time making routine decisions than at present. Today, 
many problems go to top management because simple facts that lead to 
unique answers are not available. In the future, decisions will follow 
a course based more on facts and less on intuition, although judgment 
will still be required for decision making (Adams, 1956). In still more 
advanced schemes, when sufficient facts are available, the system will 
be programmed to make many decisions that are now handled by man- 
agers. Managers will continue to be most valuable for using broad 
experience to make decisions when some facts are missing or objectives 
are not explicit. Improvements in data processing will enable them 
to make better decisions by having more useful facts available; but 
managers will continue to deal with uncertainties that cannot be eli- 
minated. 

Human relations in business will change because equipment will 
do more of the work now done by people. But an increased demand 



INTRODUCTION 27 

for more facts may require a larger work force. Improved processing 
methods will enable a manager to get more work from the same number 
of people because they are aided by more equipment. A manager fre- 
quently needs subordinates to collect and screen out control informa- 
tion and to implement decisions; a data processor can do much of the 
work of data selection, so that a manager can focus his attention on 
the best plan of action. New ideas about the span of control will be 
necessary. Improved information and control schemes will eliminate 
many routine problems constantly brought to a manager's attention. 
The entire structure of an organization may be simplified and control 
of it decentralized because better data processing will furnish less- 
experienced people with a better basis for action. A highly skilled data- 
processing group will assist management by doing much of the routine 
record work previously associated with each administrative area of the 
business. Each new development in data-processing methods promises 
to replace people, but actual results to date are often different, for 
present-day systems still require many people. In fact, the trend to 
more mechanized systems creates challenging opportunities for mana- 
gers, systems analysts, programmers, and even clerks. People are 
needed to direct, review, and maintain operations of the most auto- 
matic systems now considered feasible. The main result of progress 
will be increased output per person. 

Planning and operating a business will be different because an 
organization can respond faster to changed conditions. An entirely 
new operating program may be put into operation in a few minutes 
by giving the data processor a new set of objectives. As pointed out 
above, occasionally a company now connects the data system directly 
to the factory to control its operations, and it appears that this prac- 
tice will spread. Management will be able to take preventive control 
action rather than having to rely upon corrective action after the fact. 

Company growth will be faster, if growth has been slow because 
of deficient information to control operations and plan for the future. 
Since larger equipment processes more data at a lower cost per unit 
handled, although at a higher investment in equipment and proce- 
dures, some competitive advantage may be gained by a. company's 
obtaining the largest-size equipment practicable for it. 

Business management must deal with selecting and developing 
data-processing and control systems that are to be adopted and used 
two or more years in the future. A long time and a huge amount of 
effort are involved in designing a new data-processing system. Whether 
an automatic system is desirable and how it can be applied most ad- 
vantageously are questions to be answered by carefully planned and 
conducted studies. Systems studies involve selecting the objectives 
for the system, cataloguing all major data-processing areas, determin- 



28 ORIENTATION 

ing whether automatic techniques have merit, and investigating pos- 
sible systems that appear to have merit. Following a systems study 
that leads to a positive recommendation, there exist the problems of 
obtaining and installing equipment; of training people; of designing 
the system required to go with the equipment selected; of testing, 
parallel running, and cutting over from the old to a new system; and 
of evaluating results from the new system to revise it as required. 

The benefits derived from a resourceful, carefully planned ap- 
proach to a new system are large. The cost of a serious mistake, either 
from the wrong action or from inaction, can be severe. Automatic sys- 
tems are not an answer to all data-processing problems, but they can 
be highly effective for applications proved suitable by careful planning. 

SUMMARY 

Rapid changes, which may amount to an "office revolution," 
are occurring in the techniques of processing data. Changes in equip- 
ment occur first and are followed by improvements in the system de- 
signed around such new equipment in order to exploit it fully. 

Data are gathered, stored, processed, and reported in order to 
have facts available, produce routine documents, develop informative 
reports, and analyze business problems. The raw facts about events 
might be thought of as "data," and "information" can be used to cover 
the selective facts that management wants to know. 

The elements in processing data are: 

1. Obtaining new data inputs to the system. 

2. Manipulating data according to a prescribed plan. This requires: 

(a) a storage unit to hold data and processing instructions. 

(b) an operating unit to perform arithmetical and logical operations. 

(c) a control unit to manage operation. 

3. Producing output documents, reports, or instructions for action. 

The "facilities," broadly defined, that are used for processing 
data include people, records, office machines, punched-card machines, 
electronic computers, and automatic data processors. Automatic data- 
processing systems can: 

1. Bring specially prepared data into the storage element. 

2. Perform a required sequence of operations on the data: 

(a) logical — sorting, file maintenance, file reference, file search. 

(b) arithmetical — addition, subtraction, multiplication, division. 

3. Make decisions to perform appropriate operations as dictated by 
changes in the data or intermediate results. 

4. Issue complete or selective reports after completing processing 
operations. 



INTRODUCTION 29 

More than equipment alone is needed for an efficient system 
personnel for planning and operations, instruction routines for equip 
ment, and processing procedures are required. 

An automatic data-processing system consists of the following 
components: (I) an electronic data processor — digital computer; (2) 
peripheral equipment associated with the computer, such as data- 
preparation devices, input and output devices, and sorting devices; 
(3) procedures that tell what data are needed and when, how obtained, 
and how used; (4) instruction routines for the computer to follow; and 
(5) personnel to operate and maintain equipment, analyze and set up 
procedures, prepare instructions, provide input data, utilize reports, 
review results, and supervise the entire operation. 

A comparison of punched-card and automatic data processing 
indicates the higher storage, handling, computation speed, and versa- 
tility of the latter. 

An example of the procedures followed by an appliance manu- 
facturer shows the salient features of manual and automatic processing 
for inventory and sales analysis. The automatic system of sales report- 
ing furnishes the company with current facts at two levels of distribu- 
tion — factory warehouse and wholesale distributors. Such increased 
knowledge enables the manufacturer to analyze sales and distribution 
patterns, regulate factory production, forecast and plan sales activities, 
and perform general and cost accounting. 

Automatic data-processing systems have important implications 
for management in two areas: reduced costs of processing, and im- 
proved accuracy and timeliness of information. Present and future 
developments in data processing will impinge on four fields of man- 
agement: decision making, human relations and supervision, planning 
and operations, and company growth. 

The benefits from a resourceful, carefully planned approach to a 
new system are large; but the cost of a serious mistake, either from 
the wrong action or inaction, can be severe. 

REFERENCES AND SUPPLEMENTAL READINGS 

Adams, Charles W. "Processing Business Data," Control Engineering, vol. 
3: 105-112 (June 1956). Business-data systems, or more aptly, "manage- 
ment information systems," have three principal functions: to perform rou- 
tine record-keeping, computation, and decision-making programs based on 
precise policies and procedures; to accumulate, as a by-product of routine 
work, a collection of statistical medians, means, extremes, and other meas- 
ures of effectiveness; and to serve as a computational tool in arriving at a 
valid basis for formulating and modifying company policies and proce- 
dures. Judgment is still required for decision making. Four data-processing 



30 ORIENTATION 

problems present in every sizable business are payroll, accounts payable, 
accounts receivable, and inventory. Payroll and inventory are interesting 
because of processing requirements, although inventory control is more 
important for business management. 

Chapin, Ned. An Introduction to Automatic Computers, Princeton, New 
Jersey, D. Van Nostrand Co., Inc., 1957, 525 pp. Chapter 12, "Computer 
Fundamentals," contains a history of computing devices from the notched 
sticks and knotted strings of pre-history to the commercially available auto- 
matic computers with variable blocks and variable field-lengths of 1955. 

The General Electric Company Sales Analysis Application, New York, Rem- 
ington Rand Univac, 1957, 24 pp. Describes the sales analysis system using 
a Univac computer devised for the General Electric Company Appliance 
and Television Receiver Division. (Used as the basis for the "General 
Appliance Company" case in Chapter 1.) 

Gregory, Robert H. "Computers and Accounting Systems," Accounting Re- 
search, vol. 6: 38-48 (January 1955). Accountants have been responsible for 
processing data longer than any other group in business. They have tried to 
meet business requirements for certain kinds of facts by using available 
techniques, although a time lag exists between invention and widespread 
acceptance of a new technique. Limited-capacity facilities restrict process- 
ing to an application-by-application approach, whereas data and informa- 
tion requirements are actually business-wide. The belief in 1954, when the 
article was written, was that intensive systems analysis preparatory to in- 
troduction of electronic computers would result in a comprehensive system 
for a business to replace the individualistic approach to each application. 

Martin, William L. "A Merchandise Control System," pp. 184-191 in Pro- 
ceedings of the Western Joint Computer Conference: Trends in Compu- 
ters — Automatic Control and Data Processing, New York, American Insti- 
tute of Electrical Engineers, 1954. This article discusses the application 
of general-purpose, stored-program computers to the problems of inventory 
control, order filling, and customer invoicing. It covers a typical mail- 
order operation of fairly good size which processes ten customer orders per 
second. Treatment of the problem is general and does not give details on 
computer programming or comparisons between available equipment. 
Some attention is given to economy and the broad advantages of faster 
and more accurate methods of handling normal clerical operations. 

Montalbano, Michael. "Elements in Data-Processing System Design," pre- 
sented at the tenth national meeting of the Operations Research Society of 
America, November 16, 1956. This article is a general discussion of data 
processing ("handling of business information") in industry. Montalbano 



INTRODUCTION 31 

points out that (a) no data processing is automatic, (b) effective data- 
processing system design involves operations research techniques, and 
(c) a qualitative description of a system (in words and pictures) is useful 
in preparing a quantitative one (in numbers and measurements). Most of 
the article deals with qualitative description and its application to some 
frequent problems in using business data-processing systems. The author 
comments on a number of factors that he feels are not adequately explained 
by conventional treatments. Important ideas of "loop" and "feedback" in 
data processing and management are stressed. 

Spinning, H. M. "Calculation of Crude-Oil Run Tickets by Electronics," The 
Oil and Gas Journal, vol. 51 : 70-71 + (February 1953). Describes two meth- 
ods of processing crude-oil runs from gaugers' tickets to royalty payments. 
The manual method relied on look-up in tables prepared for each tank to 
convert height at quarter-inch intervals into volume. The introduction of 
punched-card methods changed the approach to a combination of table 
look-up for the volume up to the point where the diameter changed and 
calculation of volume within that interval. Correction for temperature, 
impurities, and gravity were basically the same by both methods. 



CHAPTER TWO 



PROCESSING DATA 
BY MACHINE 



The ability to obtain and store data for later use is invaluable to 
technical and cultural progress. The efficient storage and use of data 
depend on the combination of symbols, media, writer, and reader. 
Symbols used to represent data include the Arabic numerals (0 through 
9), the English alphabet (A through Z), notes on a musical scale, and 
many others. In other centuries and countries different alphabets and 
numerals have been used: Sanskrit in Indo-Europe, cuneiform in As- 
syria, hieroglyphs in Egypt, notched sticks in England, and Roman 
numerals in the Roman Empire. Some alphabets are represented by 
symbols that, although useful for their intended purposes, are difficult 
or impossible for people to read: dots and dashes for telegraphic 
transmission, holes in player piano rolls, punched cards and paper 
tape, and magnetized spots on a suitable surface. 

Media upon which data have been recorded are numerous and 
varied: clay, stone, wax, sticks, papyrus, paper, cardboard, photo- 
graphic plates, plastic, and metal. Examples of plastic media are iden- 
tification charge-plates with embossed characters and magnetic tapes 
(plastic coated with iron oxide). 

The "writer" for recording data includes an instrument and an 
operating or controlling element, although the two appear inseparable 
at first glance. Writing instruments have included the brush, pencil, 
knife, hammer and chisel, seal, movable type, typewriter, punch, and 
magnetic recorder. The operating or controlling element is commonly 
a person, either working alone or with the aid of electric or mechanical 
power. 

The "reader" for data can be a person, a punched-card or punched- 
tape reader, or a magnetic-tape reader. The reader may even be equip- 
ment in the factory; for example, weaving machines read cards or tape 
with instructions for weaving a desired pattern in cloth or lace, and 
milling machines are controlled by data stored on punched or mag- 
netic tape. 

32 



PROCESSING DATA BY MACHINE 33 

Every known storage method imposes some restrictions on data- 
processing techniques. The compatible combinations of alphabet, 
storage medium, writer, and reader are limited. People can easily read 
an alphabet of letters and numerals cut into stone, but the inscribing 
is possible only by slow work with a hammer and chisel or abrasives. 
Magnetic tapes will hold only certain coded representations of letters 
and numerals and then require the use of special electrically operated 
writing and reading devices. Written paper records, which have been 
widely used for only a few hundred years, demand certain processing 
skills — sight, writing ability, and some intelligence. People are trained 
from childhood to recognize letters and numerals singly and collec- 
tively as words, records, and files. Several versions of character- 
recognition equipment now translate characters printed in ordinary or 
special ink in a type style that people can also read. Equipment to read 
handwriting — numerals and letters printed with some care — has been 
developed and may become widely used. 

MACHINE-PROCESSABLE DATA 

Methods for recording business data in machine-processable form 
have been in use for about seventy years. Some knowledge of the prin- 
ciples and methods involved in representing data in machine-process- 
able form is vital to a study of automatic data processing. Widely used 
methods are punched holes in cards and tape, marks in specified loca- 
tions, specially shaped printed characters, and magnetic conditions in 
a magnetizable material (Haskins and Sells, 1957). 

Punched Cards 

Holes punched in cards represent a basic way of storing data for 
mechanized processing. Herman Hollerith invented the punched card 
and some electric processing equipment while working at the Census 
Bureau in 1886. The early versions of punched-card equipment de- 
veloped for census enumeration had space for punching 240 holes, each 
hole representing the presence or absence of a single fact in "yes-no" 
form. A person's age could be represented by punching one of 85 holes. 
Fewer holes would serve, however, if they were to represent age groups 
(one hole for ages 1 through 5, one for ages 81 through 85, and so on). 
Cards were inserted manually into a reading station to be read elec- 
trically. The reading operation caused a cover on a pocket to open so 
that the card could be laid manually into the correct sorting pocket. 
Card counting was also a manual operation. 

The limit of 240 permissible holes, each used to represent one 
fact, restricted the data content of a card. This content was increased 
by using smaller holes and punching more of them in a card, by adopt- 
ing a numerical scheme for the holes in a column (0 through 9), and by 



34 ORIENTATION 

using two or more columns together to represent larger numbers. In this 
way, three columns containing a total of 30 positions could provide 
for any number between 000 and 999. If each position were used to 
represent a single fact, then 1,000 positions would be required. This 
need led to the development of a numerical scheme for punching 
numbers. 




Figure 2-1. Punched cards with numerical data 

Figure 2-1 shows numerals in 80- and 90-column cards and on 
smaller cards with a similar coding. The standard 80-column card has 
ten punching positions (0 through 9) in each vertical column; only one 
hole is punched for each numeral to be represented. Compare the 
punched with the printed numerals in the number "1734529." Al- 
though this number has seven digits, nine horizontally ranged spaces 
are allotted to it on the card, the first two spaces being punched with 
zeros so that the digits in the extreme right margin are vertically 
aligned. Filling out a field of spaces with non-significant zeros at the 
left of the desired number helps in detecting skipped or double-punched 
columns, because every column is then supposed to have one and only 
one punch for numerals. 



PROCESSING DATA BY MACHINE 35 

The data on the 90-column card are arranged in two banks of 45 
columns each. The rows in each bank are treated as 0, l£, 34, 5g, 7g, 
9, although and 9 are not marked. Zero and odd digits are punched by 
a single hole representing 0, 1,3, 5, 7, or 9. Even digits are represented 
by punching the holes marked 2, 4, 6, or 8 (and also the 9) to distin- 
guish them from the odd numerals in the same rows. 

The method of representing zero to nine in either the upper or the 
lower half of a 90-column card is as follows: 

^ , Numerals 

Row 01234 5 6789 

• 

1 2 • • 

3 4 • • 

5 6 • • 

7 8 » # 

9 • • • • • 

The use of one of five holes to represent 0, 1, 3, 5, 7 and one of 
these five with a second hole in the 9 position to get the even-value 
digits is essentially a qui-binary, or five-two code. Of course, only one 
key stroke is required to punch the hole or holes used to represent 
one digit. This code is more compact than the simple decimal code 
(0 through 9), for it requires only six punching positions. This card 
can store 90 digits instead of 80, and wider tolerances are permissible 
during punching and processing because the holes are larger. 

The accepted qui-binary or five-two code scheme looks like a 
minor variation of the code described above. Use of one hole for 
or 1; 2 or 3; 4 or 5; 6 or 7; 8 or 9 with a second hole to select the odd 
or even digit has an interesting feature: each digit is represented by 
one hole in each of two specified areas. The failure to punch one of the 
two holes or the punching of an extra hole can be determined either 
by visual inspection or by features built into the equipment 



Light 












Values 












5 


m 


• O 


® O 


m 


• 








O 


6> 


m 





1 


• 


O 


O 








2 





O 


O 








3 





• 


O 








4 





O 


O 





• 


Number 


6 


3 





5 


4 



36 



ORIENTATION 



Some computer designers use a bi-quinary or two-five code scheme 
to display numbers on the computer control panel for operators to 
read for checking purposes. The arrangement for displaying the num- 
ber 63054 in neon lights, for example, is shown above. 

It is possible, although wasteful, to use two columns for each 
letter by a scheme of 01 for A, 02 for B, 12 for K, and so on. Another 
important development in punched-card data storage was the coding of 
letters and special symbols by two or three holes in the same column 
to increase the capacity for alphabetic data. Multiple punches consist 
of a zone punch to indicate the portion of the alphabet and a numerical 
punch to indicate a particular letter within that portion. Figure 2-2 
shows cards with two kinds of codes for alphanumerical symbols. 



fiiiiiini i i i i i 

uiiiiiii i ii ii i 

8 8 8 S 8 3 C 8 8 8 8 0|||||f ft S 8 8 8 8 8 8 8 0|| S 0| 8 D| 8 8| 8 S 8 6 08 8 D S 8|||| 8 8 8 8 82 

|i i m n n| 1 1 i 1 1 1 1 1 n i , 5 n n| n 1 1 i i m ; n n ii| i it i i n i n n n n i| ii i i • i i i i i m i m ii| 

, ; 2| 2 2 2 2 2 2 2 2| 2 2 2 2 2 2 2| 3 2 2 2 2 2 2 2 2| 2 2 i 1 1 2 2 II 2 2 2 1 1 2 2 2 2 2 1 2 22 22 2 2 Z 2 2 2 2 2 I 2 7 2 2 2 2 2 7 2 2| 2 2 2 2 2 2§. 
| 3 i 2 3 3 3 | 3333333} J| 333 3-3 333333333 |||I 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3" 
!| 4 4 4 4 4 44 ||f | * 4 4 4 4 444| 4 4 4 4 4 4 4 4 4 444 4 4 4 4 4 4 4 4 4 4| ii 4 4 4*1 

S 5 5 5 5 5 5 S 51 S 5 5 5 S I S 5 5 Si S 5 S S S $ 5 5 5 51 S 5 5'SS 

i| 8 8 S S U S S S | 5 S 8 i S 8 8 g S E i fe 6 e S C fc '5 




Figure 2-2. Punched cards with alphanumerical codes 



Punched cards are important because data stored on them can be 
processed electro-mechanically. This requires that people follow in- 



PROCESSING DATA BY MACHINE 



37 



structions for handling cards and employ suitable programs in the 
form of wired plugboards inserted in the machines. A punched card 
is processed by being passed over a sensing device (electric brushes 
or feeler pins) which reads the holes; the machine senses one or more 
holes and takes appropriate action. Simple calculations and sorting 
(arranging according to kind, class, or numerical sequence), collating 
or merging (combining two individually sorted decks into one se- 
quence) are done at speeds of one hundred to one thousand cards a 
minute. Most card readers use electric brushes or mechanical pins, 
but some readers direct a light beam at the card and use a photo- 
electric cell to sense the existence of holes. Punched cards are widely 
used for data collection and processing within a business. Examples of 
business uses are time cards, personnel records, inventory control 
records, and cost accounts. A punched card, perhaps of reduced size, 
can be attached to identify any item while it is in inventory. When the 
item is used or sold, the card can be detached for processing, either 
directly or after conversion to a card better suited to machine handling. 
Punched cards are also used for documents — checks, bills, airplane 
tickets, toll road tickets, and even purchase orders — which pass be- 
tween companies and people. 



^ • ♦ 9 I 4 ▼ 5 7 ; 2 / 6 " ! • I 
ABCDEFGHIJKLMNOPQRSTUVWXYZi sfM 



- ? 5 S 3 « 



t £ 8 t 



i Ik 



N 
N K 



2 

FEED. 
HOLES 

3 

4 

5 



• 


• 




• 


• 


• 








• 


• 












• 




• 




• 




• 


• 


• 


• 




• 


• 








• 




• 








• 




• 


• 


• 


• 








• 


• 


• 






• 


• 


• 










• 


• 


• 






o 


o 


o 


o 


o 


o 


o 


o 


o 


o 


o 





o 


o 


o 


o 


o 





o 


o 


o 


o 





o 





o 


o 


o 


o 


o 


o 


o 






• 






• 




• 


• 




• 




• 


• 




• 


• 




• 




• 


• 




• 


• 




e 




• 










• 


• 


• 




• 


• 






• 


• 




• 


• 


• 






• 








• 




• 








• 


• 




• 






• 










• 


• 








• 


• 




• 


• 


• 






• 




• 


• 


• 


• 


• 




• 


• 









%• 



• •• 



••• • • •• • •• •• 

Figure 2-3. Punched tape and five-channel code 



Punched Tape 

A common type of punched paper tape has ten columns per inch 
and can store an alphanumerical character in each column. Paper tape 
stores data more compactly than punched cards, being narrower — 
about 11/16" or 1" wide — and thinner. Although the basic code for 
punched tape has five channels that yield 32 possible combinations 
(2 5 = 32), two combinations are used for shifting to the figures or 
letters mode, corresponding to upper and lower case on a typewriter, 



38 ORIENTATION 

so that 52 alphanumerical and special characters are possible. (See 
Figure 2-3. ) The fact that 52 characters are obtained does not violate 
the rule that the maximum number of combinations using 5 holes is 32. 
To indicate mode and character two columns of holes are, in effect, 
used together, so that the possible number is increased from 32 to 60. 
The general rule for the number of characters possible for n channels 
where M carriage shifts are used to change modes and C characters are 
common to all modes, is: 

(2 n -M-C)xM + C 

The number of characters possible with two modes using two-mode 
shifts is (2 5 -2)x2, which is 60. But 4 characters (space, feed, return, 
and blank) are the same in both modes, so that the net number is 56. 

Wider tape will hold more channels, thus allowing the use of 
more possible characters. The characters possible with six-channel 
tape are basically the same as with five-channel, except that they in- 
clude both upper and lower case letters. Seven-channel code is the 
same as a six-channel code with a checking channel. Eight-channel 
code permits inclusion of field designation, which indicates where 
data should be placed on a form. 

Paper tape was developed to speed up transmission over telegraph 
lines. Punched cards may be converted to tape for wire transmission 
or mailing. Cards can also be transmitted directly over wire by using 
special card-reading and card-punching equipment. 

Recent work called "integrated data processing" has aimed at 
developing a system of completely mechanized handling, from the 
original collection of data to the preparation of final documents and 
reports. An important facet of some integrated systems is the use of 
punched tape as a common language between many kinds of office 
equipment that punch or read the five-channel code. The language is 
"common" because it provides communication between equipment 
as diverse as cash registers and punched cards. Five-channel code 
is not restricted to tape; it can be punched along the edges of ordinary 
or continuous-form cards used for filing purposes, or even on standard- 
size cards that are punched in standard fashion. Although commonly 
made of paper for single or infrequent use, tape may be laminated 
from paper and mylar or paper and metal to withstand repeated use. 

Limitations of Punched-hole Equipment 

Although punched-card equipment is an important advance over 
manual methods, it has some serious drawbacks. The mechanical prob- 
lems of punching, reading, and card handling reduce operating speeds. 
Since plugboards in which wires are inserted to select and sequence 



PROCESSING DATA BY MACHINE 39 

operations hold a limited number of fixed instructions, processing flexi- 
bility is limited for each pass of the cards. Simple arithmetical cal- 
culations can be made efficiently; but extensive, complex calculations 
can be made only inefficiently, if at all. 

The data density of cards is low because of the hole-size required, 
the alphanumerical codes used, the thickness of cards, and the fixed- 
field-length requirement (the number of columns assigned to a field 
must cover the longest item that may occur). More data for ready ref- 
erence by people (up to 25 lines) can be typed or printed on a card 
than can be punched into the same card. Punched-tape strips are com- 
pact but are clumsy to file for later use. The difficulty of altering data 
punched in cards or tape is a desirable feature for cards used as evi- 
dence, but it restricts work cards to a one-time use. Paper or plastic 
file cards, on the other hand, may be used repeatedly. Cards are bulky 
to send by mail, and transmission over a telegraph line is limited to 5 
cards a minute with one receiving-sending unit, and to 44 cards a 
minute over a telephone line using four sending-receiving units. 

The serial nature of punched tape (each character follows the 
other in a word although the holes for a character are in parallel) and 
its indefinite length speed up reading and, perhaps calculating and 
tabulating, but it may make sorting more difficult. It should be ob- 
served that several cleverly designed sorters for punched paper tape 
have been devised and are used by telephone companies in automati- 
cally accounting for telephone message charges. Widespread accep- 
tance of punched-card and tape processing equipment, despite its 
deficiencies, has stimulated the development of more efficient means of 
storing data for machine processing. 

Magnetic Recording 

Magnetic recording of digital data corresponds to audio recording 
methods except that signals are recorded separately instead of con- 
tinuously. More care is also required, for the loss of even a few digits 
may be worse than losing part of a voice recording. 

Magnetic spots are recorded in iron oxide or other metal, which is 
coated on plastic, aluminum or some other non-magnetic metal, or 
even on cardboard. The iron-oxide-coated material is used in the form 
of reels of tape, drums, disks, or cards. Magnetic cores are small dough- 
nuts of magnetizable material strung on wires. Magnetic recording 
media are shown in Figure 2-4. 

The operations in magnetic recording are (1) erasing prior con- 
tents, (2) recording desired data, and (3) reading whenever wanted. 
Two heads — one for erasing unwanted contents and another for re- 
cording and reading — are close to but usually not in contact with the 
iron oxide surface. The magnetic spots can be erased and the material 



40 



ORIENTATION 









Figure 2-4. Magnetic recording media 



PROCESSING DATA BY MACHINE 41 

re-used almost indefinitely; but when the data on a magnetic tape 
are to be used for evidence or an audit, they can be made permanent. 

Characters are often written in a seven-channel code on tape Y% in. 
or Y± in. wide at densities ranging from 100 to 500 characters an inch. 
The 80 alphanumerical characters that can be punched in a card can be 
recorded on .16 in. to .8 in. of tape. Recording density on drums is 
usually lower — not more than 100 characters an inch on each track 
around the drum. There are eight or so tracks per inch along the drum 
in the direction parallel to the axis. Tapes are moved past the read- 
write at speeds ranging from 75 to 200 inches a second, and the drums 
rotate at speeds between 1 and 20 thousand revolutions a minute. The 
read-write process is controlled electrically; it is extremely fast, being 
done while the tape or drum is in motion. Tape-reading or writing 
speeds range from 10 to 60 thousand alphanumerical characters a 
second. 

Magnetic cores are strung on stationary wires and are not moved. 
Electricity is sent through the wires to write or read the magnetic state 
of any desired core. Data can be written in or read out of magnetic 
cores in a few millionths of a second. 

Character Representation 

At various points in a data-processing system many different 
methods can be used for representing data: handwriting; punched 
holes; the positions of wheels, gears, and levers, as in a desk calculator; 
electric pulses; and magnetic states. Selection of a method for repre- 
senting data depends on whether people, machines, or both will use 
the data. Various methods are suitable for different applications. If 
one method were used throughout, efficiency would be reduced; or- 
dinarily, several methods are used and conversion is required between 
them. 

Many different sizes and shapes of holes, spots, or electric pulses 
might be used to represent alphanumerical data — just as many different 
frequencies, shapes, and amplitudes of audio signals are used to record 
music. Few components would be needed to handle digital data repre- 
sented in this way, but the components would be very complex. An- 
other approach is to have simpler components and use more of them. 
Automatic processing equipment is designed with many components 
that are stable in either one of two states. Two stable states may be 
represented in various ways: by a punched hole or no hole; by a mag- 
netic spot with north-south or the opposite polarity; by a relay open 
or closed; by an electric pulse or no pulse; or by a dot or dash. The 
"yes-no," "on-off," or "0-1" scheme is widely used. It is popular be- 
cause it is easier to design equipment that can be put in one of two 
stable states and make it stay there than it is to provide for many stable 
states. A light switch is a simple example of a two-state, "on-off" de- 



42 ORIENTATION 



vice. Combinations of the two symbols 0-1, called "binary digits" 
or "bits,'' are used to represent numerals, letters, and other symbols. 
Many ingenious schemes exist. 



NUMBER SYSTEMS 

The various number systems in use are treated in enough detail 
here to show the relationship between number systems that people 
like to use and those preferred by computer designers. Number systems 
are treated intensively by Richards (1955). 

People like the decimal number system because it seems natural; 
they learned to count on their fingers. In Yucatan the Maya civiliza- 
tion used a system of numerals based upon a scale containing elements 
of both 5 and 20 ("Numerals" and "Numeral Systems," 1957). Many 
other number bases are widely used, although we tend to think of them 
as merely counting schemes. Examples are 12 for dozen, 16 for ounces 
in a pound, 3 for feet in a yard, and 5280 for feet in a mile. Non-decimal 
fractions are widely used; for example, 1/8 for security prices and 1/16 
for fractions of an inch. People even find the British monetary system 
of mixed radices (4 farthings to a penny, 12 pennies to a shilling, 20 
shillings to a pound, and decimal thereafter) comprehensible although 
far more complex than a single radix scheme. Facetiously, one might 
hypothesize that if people were closer to the octopus than to the 
monkey, they would think the octal system (with the base 8) quite 
natural and probably would not use the decimal system at all. 

The base or radix of a number system need only be greater than 1 
and is usually, but not always, an integer. The radix in the decimal 
system is 10, in counting by the dozen it is 12, and for counting by pairs 
it is 2. The number of marks in a number system is equal to the radix 
used. The decimal system has ten marks or digits — through 9. The 
binary system has two digits, and 1. The octal system has eight sym- 
bols, through 7. 

When counting beyond the radix in one position, the digit in the 
next position to the left is increased by 1 and counting is resumed at 
0. In short, large numbers make use of the same digits, to 9, by adding 
1 in the next position to the left and continuing counting. Counting 
beyond the radix in the decimal system seems easy because of constant 
practice; it seems natural that 10 and 11 should follow 9, and so on. 

The concept of a value being associated with each digit facilitates 
number representation. By way of contrast, consider that in using 
the ten Roman numerals — I, V, X, L, C, D, M, X, C, and M — the value 
of a number depends on the characters used and their sequence (if they' 
are different), but not on their individual positions. For example, III is 
3, IV is 4, VI is 6, both XC and LXXXX are 90, and MMCLXVI is 



PROCESSING DATA BY MACHINE 43 

1,001,166; but IVXLCMM is gibberish because it violates the rules for 
arranging the characters in sequence for addition and subtraction. 
The concept of positional value is fundamental to simple, straight- 
forward number systems. A digit has its individual value whenever 
it is written and is independent of the digits to its left or right. But — 
and this is the important point in modern number systems — the effec- 
tive value of a digit is increased by the number base raised to the power 
of the digit position occupied. The digit positions are counted to left 
and right from a decimal point, as follows: 

+n, . . ., +4, +3, +2, +1, 0, -1, -2, -3, . . ., -n 

The digits in the number 675.42, treated as a decimal number, 
have the values: 

(6xl0 2 ) + (7xl0 1 ) + (5xl0°) + (4xl0" 1 ) + (2xl0 -2 ) 

or 
600 + 75 + 5 + .4 + .02 

If the same number 675.42 is treated as an octal number, the digits 
have the value: 

(6x8 2 ) + (7x8 1 ) + (5x8 ) + (4x8~ 1 ) + (2x8- 2 ) 

The meaning of the positional value concept will become clearer as 
several number systems are studied. 

Decimal 

In a decimal number, the first digit to the left of the decimal point 
is multiplied by 10°, which is equal to 1, so that the first digit is 
counted at face value. The second or tens digit is multiplied by 10 , 
which is 10. The hundreds digit is multiplied by 10 2 or 100, and so on. 

Digits to the right of the decimal point are divided by 10, 100, 
1000 (or multiplied by 1/10, 1/100, 1/1000), which are powers of 10— 
10 , 10 2 , 10 3 — corresponding to each digit position to the right of 
the decimal point. 

The complete number is the sum of all the weighted digits. For 

written as a number, 5497.658, 



example, 


thedi 


gits 5, 


4, 


9, 7, 6, 5, 


8 writter 


mean: 








5xl0 3 = 
4xl0 2 = 
9X10 1 = 
7x10° = 
6xl0 _1 = 
5xl0" 2 = 
8xl0" 3 = 


5000. 

400. 

90. 

. 7. 
.6 
.05 
.008 

5497.658 



44 ORIENTATION 

Powers of 10 are used to find positional values because there are 
10 symbols. The largest digit is 9, but it is possible to represent 10 
by assigning a magnified value to the smallest non-zero digit, 1, and 
attaching 0. 

Long familiarity has led people to think that the decimal system 
is objectively "natural." It is easy for us to forget how difficult it once 
was to learn the sums and products of two decimal digits. The decimal 
addition and multiplication tables are difficult to learn because each 
table for even single digit numbers has a hundred entries. 

Binary 

An equipment designer worries little about what people think 
is natural; he concentrates on designing a system that will simplify 
equipment design, reduce construction cost, and operate efficiently. 
Data can be translated automatically from the decimal system to any 
number system designed into equipment (Lerner, 1955). The fact that 
it is easiest to design and build equipment with two stable states (that 
might be thought of as yes-no, on-off, or 0-1) makes the binary system 
desirable. The and 1 are the only two binary digits — often referred to 
as "bits." 

The bits in a binary number have weighted position values of 
2°, 2 1 , 2 2 to 2 n , which are equal to 1, 2, 4 and so on. This is similar 
to the weighting scheme of 10°, 10 1 , 10 2 , etc., for digit positions. 
Counting in decimal and binary shows the similarities: 

Decimal Binary 









1 


1 


2 


10 


3 


11 


4 


100 


5 


101 


6 


110 


7 


111 


8 


1000 


9 


1001 


10 


1010 


11 


1011 


12 


1100 


50 


110010 


100 


1100100 


512 


1000000000 



PROCESSING DATA BY MACHINE 



45 



To the right of the binary point, each bit is divided by 2, 4, 8, and 
so on. Examples of fractions in one number system also show how some 
numbers may be difficult to express in the other: 



Decimal 


Binary 


.5 


.1 


.25 


.01 


.125 


.001 


.0625 


.0001 


.375 


.011 


.33333 . . . 


.01010101 



Converting numbers larger than 1 from the decimal system to 
another system can be done by successively dividing by the base of the 
new system and keeping the remainder each time. For the simple case 
of converting 1 1 x (meaning 1 1 to the base 10 ) to binary : 



Decimal 




Binary 




Positional 




Decimal 


Division 


Remainder 


Value 




Value 




Equivalent 


11 -2 = 5 


1 
1 


1 
1 


X 
X 


1 

2 




1 


* 

5-2 = 2 


2 


2-2 = 1 








X 


4 


= 





1-2 = 


1 


1 


X 


8 


= 


8 



11 



The binary value reading upward, 101 1 2 , is equal to 11 10 . As an- 
other example, 5497 10 converted to binary is 1010101 11 1001 2 . 



Decimal 

Division 

5497 + 2 = 


2748 
1 


Remaii 

Binary 

1 




ider Decima 
Value of Bina 

1x2° = 

0x2* = 


1 Equivalent 

1 


2748 - 


- 2 = 


1374 





1374 - 


- 2 = 


687 







0x2 2 


= 





687 - 


- 2 = 


343 


1 




lx2 3 


= 


8 


343 - 


- 2 = 


171 


1 




lx2 4 


= 


16 


171 - 


- 2 = 


85 


1 




lx2 5 


= 


32 


85 - 


- 2 = 


42 


1 




lx2 6 


= 


64 


42 - 


- 2 = 


21 







0x2 7 


= 





21 - 


- 2 = 


10 


1 




lx2 8 


= 


256 


10 - 


- 2 = 


5 







0x2 9 


= 





5 - 


- 2 = 


2 


1 




lx2 10 


= 


1024 


2 - 


- 2 = 


1 







0X2 11 


= 





1 - 


- 2 = 





1 




lx2 12 


= 


4096 



5497 



46 



ORIENTATION 



Decimal fractions are converted to binary by successively multi- 
plying by two and saving either the 1 or that develops at the left of 
the decimal point. Conversion of .658 x , for example, gives . 101010001 2 . 



Binary Value 


Decimal M 


ultipli 


cation 






.658 


x 2 


= 1.316 


Save the 1 and 








multiply .316 by 


> ' 


x 2 






2, etc. 


1 


.316 


= .632 







.632 


x 2 


= 1.264 




1 


.264 


x 2 









.528 


x 2 






1 


.056 


x 2 









.112 


x 2 









.224 


x 2 









.448 


x 2 









.996 


x 2 






1 


.992 


x 2 








and so on 









The binary fraction continues indefinitely in this case, but it is 
rounded in the ninth position to cut it off. Putting together the 
parts to the left and right of the decimal point, as calculated above, 
5497.658 10 is equivalent to 1010101111001. 101010001 2 . 

Octal 

The octal system has a radix of 8 and uses the digits and 1 
through 7, so that octal numbers look like decimal numbers except 
that the numbers are longer and the digits 8 and 9 are not used. The 
left-hand part of the decimal number 5497.658 10 , is 12571. 8 , calcu- 
lated by dividing by 8 and keeping the remainder. 



Decimal 
Division 




Remain 

(Octal 

Value) 


der 




Decimal 
Equivalent 
of Octal 


497-8 = 


687 


1 

7 




1 

7 


x 1 = 1 


1 

687-8 = 


85 


x 8 1 = 56 


85-8 = 


10 


5 




5 


x 8 2 = 320 


10-8 = 


1 


2 




2 


x 8 3 = 1024 


1-8 = 





1 




1 


x 8 4 = 4096 



5497 



PROCESSING DATA BY MACHINE 47 

The right-hand part of the decimal number .658 10 is equal to 
.5207 8 , calculated by multiplying by 8 and keeping the whole digit. 

Octal Value Decimal Multiplication 

.658 x 8 = 5.264 Save the 5 and 



multiply .264 by 
8, etc. 



5 .264 x 8 = 2.112 

2 .112 x 8 = 0.896 

.896 x 8 = 7.168 

7 .168 



The whole number 5497.658 10 is equal to 12571. 521 8 rounded 
in the last place. An octal number is easily converted to or from a bi- 
nary number on a digit-by-digit basis: 



Octal 


1 


2 


5 


7 


1 


. 5 


2 





7 


Binary 


001 


010 


101 


111 


001 


.101 


010 


000 


111 



The binary number obtained by converting from decimal to octal 
to binary is, of course, the same as was obtained earlier by directly 
converting from decimal to binary. A reverse process of grouping three 
bits into one octal numeral (101010 2 =52 8 , for example) is often used 
to facilitate reading binary numbers. 

Codes Based on Binary 

Users and designers of data-processing equipment have different 
viewpoints about the ideal number system to use. Business users prefer 
a decimal number system because input data and output are typically 
decimal. Computer designers, on the other hand, prefer a binary sys- 
tem because it is easier to design and build equipment with components 
expected to maintain two stable states rather than ten. There are two 
ways to reach a compromise on the number system conflict. One way 
is to retain decimal numbers for input and output, and design the ma- 
chine to operate with pure binary numbers. Using two number systems 
requires converting input from decimal to binary and output back to 
decimal. The task of manual conversion is so onerous for people, as 
indicated by the examples given earlier, that the computer is pro- 
grammed to handle it. Converting a decimal number to a binary num- 
ber may be done during a card-reading cycle. If magnetic-tape input 
is used, the conversion operation may impede processing enough to 
be impractical. Conversion may be undesirable for business applica- 
tions that involve a small amount of processing in relation to input- 
output volumes. 



2 bits: 


00, 


01, 


3 bits: 


000, 


001, 


4 bits: 


0000, 


0001, 




1000, 


1001, 



48 ORIENTATION 

Another way to reconcile the decimal-binary conflict is to repre- 
sent each decimal digit in a binary code and avoid the task of convert- 
ing the number as a whole into binary. The conversion of a decimal 
number into a binary-coded decimal, as discussed below, is simpler 
than its conversion into binary. But this greater ease of conversion 
is gained at the cost of longer numbers, since binary-coded decimal 
numbers are longer than the corresponding binary numbers. Manipu- 
lating binary-coded decimal numbers also involves either more cir- 
cuitry or slower processing. Business applications are generally thought 
to be handled more efficiently by a processor using a binary-coded 
decimal scheme than by one using binary. 

Three bits will represent an octal digit, but four are required to 
represent the ten possible decimal digits. The potential number of 
combinations of bits are: 

10, 11 

010, 011, 100, 101, 110, 111 

0010, 0011, 0100, 0101, 0110, 0111 

1010, 1011, 1100, 1101, 1110, 1111 

Four bits give sixteen possible combinations (2 4 = 16), but only 
ten are needed for a binary coding of the decimal digits through 9. 
The remaining six combinations are not used for decimal numerals 
but can be used for other symbols. The fact that six out of sixteen pos- 
sible combinations are not used for binary-coded decimal is one reason 
why a binary equivalent, being more compact, is often preferred. Only 
3.3 bits in binary are needed to represent one decimal digit, whereas 
binary-coded decimal requires four bits per decimal digit. 

There are many binary-coded decimal schemes. One, called 
"8421," derives from the value assigned each bit position. Four bits 
are used to represent each decimal digit as follows: 

Decimal 5 4 9 7.6 5 8 

Binary -coded 
decimal 0101 0100 1001 0111 0110 0101 1000 

The binary number equal to 5497.658 10 was previously shown to 
be 1010101111001. 101010001 2 , which contains twenty-two bits; the 
binary-coded decimal equivalent contains twenty-eight. The 8-4-2-1 
code is a weighted four-bit code, and the weight of each bit position 
must be used to convert to the decimal digit. It is important that con- 
verting decimal to binary-coded decimal can be done either by people 
or by equipment, and without multiplication or division. 



PROCESSING DATA BY MACHINE 49 

Weighting each bit position is not an essential feature of a numeri- 
cal code; several non-weighted codes are used in computers. The most 
widely used non-weighted code is called "excess 3." The binary equiv- 
alent of decimal 3 (0011) is added to the binary value of each decimal 
digit in the 8-4-2-1 code. For example, the value of decimal 5 in 8-4-2-1, 
which is 0101, is increased by 0011 to get 1000 in excess 3 code. 

Binary -coded 
Decimal Decimal 

5 = 0101 

+ 3 = + 0011 

5 in excess 3 code 1000 

Addition in binary involves the rule + = 0, 1+0=1, 0+1 = 1, 
1 + 1 = and carry 1 . 

The excess 3 code is useful because it makes some arithmeti- 
cal operations easier. The 9's complement of a number is obtained in 
excess 3 code merely by converting each 1 to and each to 1 . For ex- 
ample, 5 is 1000 in excess 3 code and is complemented to 0111 by con- 
verting each 1 to and each to 1. The complement 0111 is in excess 
3 code and has a value of 4 in binary-coded decimal when the excess 3 
is removed — 0111-0011 = 0100. Subtraction operations are often done 
by means of complementing the amount to be subtracted and adding 
the complement. Subtraction by complements is discussed in the chap- 
ter on arithmetic and control units. 

Codes with five, six, or more bits per decimal digit are often used. 
The increase in the number of bits above the 3.3 bits required in pure 
binary to represent a decimal digit may be offset by other advantages. 
The bi-quinary code is a 7-bit weighted code with positional values 
of 5,0 (bi) and 4, 3, 2, 1, (quinary). A decimal numeral represented in 
this code contains one "bi" bit and one "quinary'' bit. The existence 
of any combination other than one bit from each group indicates a 
malfunction in the computer. 

Numerical coding system values forO to 9 are shown in Table 2-1. 
Many other codes exist, some of which are used for computers. Equip- 
ment designers select the code that is best for a given application. 
Business applications involve a higher ratio of input-output opera- 
tions to computations than do engineering and mathematical applica- 
tions. Therefore, equipment intended for business applications is 
designed with a machine code, such as binary-coded decimal, that is 
easily converted from (or to) a code suitable for use by other machines 
and people. Economical conversion operations are desirable even 
though computing costs are increased by using a code not so well 
suited for internal operations as the binary code. 



50 ORIENTATION 

Table 2-1. Numerical Coding Systems 



Decimal 
Digit 


Binary 


Octal 


Binary 


-coded Decimal Representation 


8421 


Excess 3 


7421 


Bi-quinary 
50 43210 











0000 


0011 


0000 


01 00001 


1 


1 


1 


0001 


0100 


0001 


01 00010 


2 


10 


2 


0010 


0101 


0010 


01 00100 


3 


11 


3 


0011 


0110 


0011 


01 01000 


4 


100 


4 


0100 


0111 


0100 


01 10000 


5 


101 


5 


0101 


1000 


0101 


10 00001 


6 


110 


6 


0110 


1001 


0110 


10 00010 


7 


111 


7 


0111 


1010 


1000 


10 00100 


8 


1000 


10 


1000 


1011 


1001 


10 01000 


9 


1001 


11 


1001 


1100 


1010 


10 10000 



ALPHANUMERICAL SYSTEMS 

Alphabetic characters are more difficult to represent than numerals 
since they are more varied — 26 letters and 10 or so special characters 
instead of 10 numerals. Furthermore, alphabetic characters are not 
convertible into binary numbers by the usual scheme of division. The 
name John Jones cannot be represented in binary in any easy way. 

Six-bit Code 

The binary-coded decimal scheme using four bits to handle 16 
characters can be extended to six bits to represent 64 characters, six 
bits yielding 2 6 or 64 possible combinations. Using six bits for each 
character makes it possible to represent the English alphabet A to Z 
in upper case characters, Arabic numerals to 9, and 28 other charac- 
ters in what might be called a binary-coded alphanumerical scheme. 

Examples of special symbols, numerals (in excess 3 code), and 
letters in binary-coded alphanumerical are: 



( 


00 0010 


) 


00 0011 


/ 


01 0010 





01 0011 


1 


01 0100 


7 


01 1010 


C 


10 0010 


D 


10 0011 


S 


11 0010 


T 


11 0011 



PROCESSING DATA BY MACHINE 51 

Notice that (, /, C, and S have the same four right-hand bits but 
differ in the two left-hand bits. In some ways this is comparable to 
the two top row or zone punches — X and Y — on a standard 80-column 
punched card that are used with punches for to 9 to represent alpha- 
betical characters. The four right-hand bits which yield 16 combina- 
tions are used with two left-hand bits yielding 4 combinations for a 
a total of 64. This range of characters serves for many purposes but 
does not provide for both lower (a, b, c.z) and upper case characters. 
An important point easily overlooked is that the combination of bits 
"10 0010" does not mean "C" to a computer, but is merely assigned 
that value by people using the equipment. The bits 10 0010 can just 
as easily stand for any letter in any alphabet that does not use more 
than 64 characters; the desired letter is placed on keyboards used for 
preparing input and on printers for output. 

Parity-bit 

An extra binary digit, called the "parity-bit," is often attached 
to each character solely to detect whether the equipment is malfunc- 
tioning by dropping or gaining a bit. If the equipment designer chooses 
to use an odd-parity-bit rule, an odd number of bits is used to repre- 
sent each character. The gain or loss of one bit results in an even 
number of bits and violates the odd-bit rule. For example, the charac- 
ter "B" may be represented as 100001, with an odd parity-bit attached 
in the parity channel to give 1 100001. The loss of one bit gives 2 bits 
or the gain of one bit gives 4, and both of these violate the odd-parity- 
bit rule. 

Channel Character 



Name 


Number 


) 


* 


8 


B 


X 


Parity-bit channel 


7 








1 


1 





Zone channels 


it 











1 


1 



1 
1 




( 4 





1 


1 








Numerical channels 


: 


1 




1 





1 






1 
1 




(l 





1 


1 


1 


1 


Number of bits 




1 


3 


5 


3 


5 



The even-parity-bit rule — add a bit, if required, to make the num- 
ber of bits in a character even — gives essentially the same result as the 
odd-bit rule. One reason for using the odd-bit rule is to guard against 
the loss of all bits, resulting in zero bits, which might be accepted as 



52 ORIENTATION 

passing the even-bit rule. Interestingly, an equipment manufacturer 
may use an odd parity-bit for recording on magnetic tape and an even 
parity-bit for punched paper tape. 

There are other ways of detecting the complete loss of a character, 
such as counting the number of characters each time they are handled 
or using a parity-bit for each channel along tape. The lengthwise, or 
longitudinal parity-bit scheme is useful for detecting the loss of a bit 
in a channel. In conjunction with the vertical parity-bit, the longitudi- 
nal bit can be used to detect and correct an equipment malfunction of 
one bit. The message "213786 425 390 JOHN DOE" (with < and > 
for start message and end message, and • for item separator) might 
be recorded on tape with a parity-bit for each character in Channel 
7 and for each channel in the position marked p. 

< 2 1 3786»425»390«JOHN«DOE>p 

Channel/ 

7 /0 1 1 1 1 1 1 1 1 1 1 1 1 1 



10000001000100011111111110 
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 o'o 1 1 1 
10001111001101011101101010 
11110001110111010111101111 
10011100100010100110011000 
01000110110000101011010010 



t 

If a bit were lost so that the first 3, for example, was recorded as 
0010010 with only two bits, the odd-parity-bit rule would be violated 
in both the column and the row marked with arrows. With only one bit 
lost (or gained), correction could be made by complementing whatever 
exists at the intersection of lines drawn from the two arrows. The com- 
plementing of to 1 or 1 to would correct the malfunction of the 
recording equipment. More elaborate parity-bit schemes, especially 
longitudinal ones, are used to detect and correct more severe mal- 
functions. A six-bit code with parity-bit added is commonly used to 
detect the loss of bits in alphanumerical codes on magnetic tape. When 
data are transferred into the computer, the parity-bit scheme may be 
dropped because the risk of losing a bit during computation is far less 
than during tape reading or writing. 

An example of a six-bit code with parity-bit at the left of the char- 
acter is shown in Figure 2-5. This code is arranged in the collating 
or sorting sequence, which means that data in this code could be ar- 
ranged in numerical and alphabetic sequence. The five messages, 



PROCESSING DATA BY MACHINE 



53 



< 4357 • DOE, JOHN > , < 2476 • ROE, RICHARD > , < 1289 • 
BAKER, CHARLEY > , < 2476 • ROE, JOHN > , and < 7365 • 
BAKER, ABLE > , could be sorted into two different sequences by 
using either the whole message or only the second item (and following 
items, if desired) as a key to identify the message. 











Che 




No. 


g 








Che 




No. 


- 


CHARACTER 
DESCRIPTION 


O 

s 


7 


6 


5 


4 


3 2 1 


o> 


CHARACTER 
DESCRIPTION 


O 


7 


5 


4 


3 2 1 


2< 

o> 






















J; 






BIT VAI Ul 


o=> 




J; 




BIT VALUE 


o=> 






P* 


2» 


2* 


23 


22 21 2» 


o 






p* ; 


s 2« 


23 


2» 2> 20 


2 


Blank 




1 














00 


A 


A 














40 


Space 


— 














1 


01 


B 


B 


l 








1 


41 


Cross 


* 














1 


02 


C 


C 


l 








1 


42 


Open Parenthesis 


( 


1 











1 1 


03 


D 


D 











1 1 


43 


Close Parenthesis 


) 














1 


04 


E 


E 


1 








1 


44 


Quotes 




1 











1 1 


05 


F 


F 











1 1 


45 


Colon 




1 











1 1 


06 


G 


G 











110 


46 


Dollars 


$ 














1 1 1 


07 


H 


H 


1 








1 1 1 


47 


Percent 


% 
















10 


1 


I 


1 










50 


Semicolon 




1 










1 


11 


J 


J 










1 


51 


Ampersand 


& 


1 










1 


12 


K 


K 





I 




1 


52 


Apostrophe 















1 1 


13 


L 


L 


1 







1 1 


53 


Minus 


e 


1 










1 


14 


M 


M 










10 


54 


Asterisk 


* 













1 1 


15 


N 


N 


1 







1 1 


55 


Period 















1 1 


16 


O 


O 


1 







1 1 


56 


Carriage Shift (CS) 




1 










1 1 1 


17 


P 


P 





1 




1 1 1 


57 


Page Change (PC) 


















20 


Q 


Q 


1 










60 


Line Shift (LS) 




1 










1 


21 


R 


R 










1 


61 


Slant 


/ 


1 










1 


22 


S 


S 










1 


62 


Zero (Numeric) 
















1 1 


23 


T 


T 


1 







1 1 


63 


One 


i 


1 










1 


24 


U 


U 










1 


64 


Two 


2 













1 1 


25 


V 


V 


1 







1 1 


65 


Three 


3 













1 1 


26 


w 


w 


1 







1 1 


66 


Four 


4 


1 










1 1 1 


27 


X 


X 










1 1 1 


67 


Five 


5 


1 












30 


Y 


Y 












70 


Six 


6 












1 


31 


Z 


Z 


1 






1 


71 


Seven 


7 












1 


32 


End File (EF) 




1 






1 


72 


Eight 


8 


1 









1 1 


33 


End Data (ED) 











1 1 


73 


Nine 


9 












1 


34 


Item Separator (ISS) 


• 


1 






1 


74 


Comma 


, 


1 









1 1 


35 


End Message (EM) 


> 









1 1 


75 


Number 


# 


1 









1 1 


36 


Start Message (SM) 


< 









1 1 


76 


Carriage Normal 














1 1 1 


37 






1 






1 1 1 


77t 


* The parity bit (P) i 


s sho 


vn as it a 


ppea 


rs or 


magnetic tap 


e (ode 


parity) ; on paper tape 


parit 


y is ev< 


n. 









t 77 with odd parity (1111111) is a legitimate octal number on magnetic tape. On paper tape, 77 is a legitimate octal number only 
when there is no punch in the seventh (P) channel (even parity). The Paper Tape Reader ignores a row in which all seven chan- 
nels are punched, interpreting this as a corrective measure. 

Figure 2-5. The RCA 501 code, with odd parity-hit 

The sequence using the whole message as the sorting key would 
be correct numerically, although not necessarily correct alphabetically. 

1289 BAKER, CHARLEY 

2476 ROE, JOHN 

2476 ROE, RICHARD 

4357 DOE, JOHN 

7365 BAKER, ABLE 



The sequence using the second item as the sorting key 
correct alphabetically, but not numerically. 

7365 BAKER, ABLE 

1289 BAKER, CHARLEY 

4357 DOE, JOHN 

2476 ROE, JOHN 

2476 ROE, RICHARD 



wou 



Id be 



54 ORIENTATION 

Each of these sequences is in ascending order according to the 
key used and the values in the collation table. When keys contain both 
alphabetic and numerical characters, the resulting sorted sequence 
depends on whether numerals precede letters (as is true for the code 
shown above) or vice versa. 

Multi-mode Codes 

The fact that four bits are enough for a numerical code whereas 
six are required for an alphanumerical code poses a dilemma. If a four- 
bit code is used for recording numerals, then an alphabetic character 
might be represented by a two-digit number; this means that eight 
bits must be used to do the work of six. For example, "A" might first 
be given the decimal number 01 and then coded as 0011 0100 in 
binary-coded decimal, excess 3. The two-for-one scheme is more effi- 
cient for numerals than for alphabetic characters, but is acceptable 
where alphabetic data are small in volume and letters are printed as 
letters and not as two-decimal digits that people must convert into 
letters. 

A variation of the two-for-one scheme is the three-for-two, which 
uses the twelve bits of three numerals for directly representing two 
alphanumerical characters. This scheme is carried further in some 
equipment so that 24 bits treated as a word may be used as 8 octal, 
6 decimal, or 4 alphanumerical characters. These modes are alterna- 
tives to using the 24 bits as one binary number. One parity-bit can 
serve for the 24 bits. Longer words of 36 and 48 bits, which are mul- 
tiples of 3, 4, and 6, may also be used in similar fashion by specifying 
the mode and by grouping the bits. 

Twenty-four bits 101001110100101101100100 



Groups of three bits ^^ ^-* ^^ *-*^ ^^ -^ ^^ ^ 

Octal numbers 5164 5 544 



Groups of four bits ^_ v ^^_ v ^^ / ^-^ ¥ - 

Binary-coded decimal 
(excess 3) 7 4 18 

Groups of six bits 

Alphanumerical J U N 

One group of twenty-four bits 

Binary 10963812 

Some equipment manufacturers, on the other hand, use a two- 
for-three scheme by putting three numerals into the 12 bits available 
for two alphabetic characters. For example, three words of 10 numerals 
each in 6-bit alphanumerical code can be condensed one-third; this 
can be done by dropping the 00 zone bits of the numerals and writing 



PROCESSING DATA BY MACHINE 55 

the 4-bit code on magnetic tape in the space allotted to two alpha- 
numerical words. The condensed numbers are returned to ordinary 
6-bit form for internal storage and processing. 

The selection of an efficient code for representing data depends 
on whether alphabetic or numerical data are involved, as well as on 
the amount of processing to be done each time the data are handled. 
If numbers are predominant in the data, a numerical code — either 
pure binary or binary-coded decimal — offers more compact storage 
than an alphanumerical code, although at the cost of clumsy methods 
for handling letters. Conversely, alphabetic data can be handled di- 
rectly by alphanumerical codes which are not efficient for handling 
numerals (six bits must be used for a numeral where 3V3 would suf- 
fice). Processing inside the computer is more efficient for numbers rep- 
resented in binary, but such processing requires a conversion to decimal 
or alphabetic form that people can use. Frequent conversion between 
alphanumerical and binary offsets some of the benefits derived from 
more efficient internal processing. Newer machines, as pointed out 
above, are being designed to handle data in binary, octal, decimal, 
or alphabetic modes. 

ORGANIZATION OF DATA 

Data-processing equipment senses, stores, and manipulates a wide 
variety of characters. Individual characters must be grouped together 
in a way that is practical for use by people and machines. 

The organization of data can be illustrated by the Jameson 
Knitting Company's scheme for keeping track of customers' orders. 
An order record is prepared on paper (see Figure 2-6) for each order 
received from a customer; it identifies the customer, lists the items 
ordered, and posts the quantity shipped or back-ordered. Each nu- 
meral, letter, punctuation mark, or symbol is a character. Characters 
are grouped into items to specify a particular unit of information — 
order number, date, alphabetic name, street address, stock number, 
and quantity. A line consists of one or more items of data placed on 
the same horizontal level — order number and date are two items in one 
line. 

The data kept about a customer's order originate from several 
sources in the form of messages. Examples of messages in this case 
are the customer's order and the shipping department's report of the 
quantity of each stock number shipped or back-ordered. The messages 
are processed to make up a record. These records comprise the back 
order file. The organization of data on paper, from the smallest to the 
largest unit, is by character, item, line, message, record, and file. 



56 



ORIENTATION 



Jameson Knitting Company 



Jameson Knitting Company 



Jameson Knitting Company 
Order Record 



Order No 37259 

Nnmp JOHN DOE CO. 



Address 10 WALNUT STREET 
0SHK0SH. MINN. 
Customer Code 23AM69 



Ship to 



DntP 


8/3/-- 


f JOHN 


DOE CO. 


SAME 





Stock 
Number 



162 



14982 



432891 



Quantity 
Ordered 



20 



25 



Quantity 
Shipped 



16 



12 



Quantity 
Back Ordered 



13 



S 



r" 



Figure 2-6. Customer order record, paper 

Fixed-variable Length Items 

A customer order file kept on paper records illustrates the use 
of fixed-variable length items. The maximum number of characters 
needed for any item is anticipated and provided for in printing the 
form. The length provided for each item can be fixed individually, 
so that a long space can be provided for customer name (which is not 
controllable and may take 30 or 40 characters). Stock numbers, on 
the other hand, can be established as desired and restricted to a few 
digits, although 10 or 20 digits are often used for unique identifica- 
tions in large inventory systems. Since space on paper records is in- 
expensive, field lengths can be set generously to handle the longest 



PROCESSING DATA BY MACHINE 57 

item likely to occur. And, of course, people are clever enough to modify 
the length of an item by writing in the margin, if necessary, to process 
the records satisfactorily. 

Punched cards pose a more difficult problem for fixing item length. 
Since the total number of columns available in a card is usually 80 
or 90, their use must be economized to prevent some records from 
carrying over to several cards. Once a field — the number of columns — 
is assigned to an item, the maximum length is fixed for punched-card 
processing. If the longest stock number is 20 characters, then a field 
of 20 columns is assigned for use with both long and short numbers. 
For example, the numbers 387-A4295725-9291 and B7070 would be 
punched into a 20-column field as 000387- A4295725-9291 and 
O0000O00OO0O000B7070. The quantities of items, on the other hand, 
might range from 1 to 9999 and require only four columns. An entirely 
different arrangement of data might be used for name and address 
cards and for each stock number ordered by a customer. 

In short, the term "fixed-variable" means that the amount of space 
allotted to an item in a certain record is variable until a certain amount 
is assigned. Thereafter, the amount of space for that item is fixed so 
that shorter items are filled out and longer items cannot be fitted into 
the space assigned. 

Variable-length Items 

The facilities used for processing data may be able to deal equally 
well with long and short items without special regard for the longest 
case that may occur (RCA Electronic Data Processing System 501, 
1958). If so, it is only necessary to identify the item and use the num- 
ber of characters that are needed. Blank paper, without any designa- 
tion of items, is a simple example of a variable-length item record. On 
blank paper a record might contain explicit identification and items in 
sequence without regard for format or spacing. 

Order No. 37259 Date 8/3/— Name John Doe Co. Ship to John Doe 
Co. Address 10 Walnut St. Same Oshkosh, Minn. Same Customer 
eode 23AM69 Stock number Quantity ordered Quantity shipped 
Quantity back-ordered 162 3 3 14982 20 16 4 432891 25 12 13 

The order record written in variable-length items occupies less 
space on blank paper than variable-fixed length items on a printed 
form. More skill is required to associate headings — stock number, 
quantity ordered, shipped, and back-ordered — with the related items. 
The loss of one item might cause the others to be misinterpreted. 

The name of each item need not be listed explicitly but can be 
implied from the sequence of the items by following a specified se- 
quence and separating the items. The order for John Doe can be com- 



58 



ORIENTATION 



pressed where • is an item separator and < indicates start of record 
and > indicates end of record. 

< 37259 • 8/3/— • John Doe Co. • John Doe Co. • 10 Walnut St. 
• Same • Oshkosh, Minn. • Same • 23AM69 • 162*3«3*0» 
14982 • 20 • 16 • 4 • 432891 • 25 • 12 • 13 > 

The item following the second item separator is expected to be the 
customer's name so that, if the date is omitted, the separators are in- 
cluded for counting purposes: < 37259 •• John Doe Co. • . . . . When 
records are organized in this manner, a repetitive pattern develops — 
stock number, quantity ordered, shipped, and back-ordered — so that 
the 10th, 14th, or 18th item is always the stock number. Computers 
that handle variable-length items (see Figure 2-7) can store and pro- 
cess data recorded in this fashion on magnetic tape. 



< 3 7 2 5 



/ 3 / 



-•JOHN 



1 1 r 

DOE 



S H 



& 



2 3 A 



• 14 9 



C 



K 



M 6 



8 2 



. • 1 



S H 



• 20 



M 



W 



N 



— i — i — i 1 — i — i — 

L N U T ST 



• 3 • 
i i i 



-i — i — i — i — i — i — \ — * 

• un 2 89 1 

I 1 I I I I I I 



2 5H2I1 3 > 



Figure 2-7. Customer order record, magnetic tape, variable -length field 



Fixed Word and Block 

"Word" is often defined as a fixed number of characters or char- 
acter locations that are treated as a unit. Word length is fixed by the 
computer designer and incorporated in the circuitry. Common word 
lengths are 10 or 12 alphanumerical characters and 24, 36, or 48 bits. 
Every computer word must contain the specified number of characters 
or bits. Excess positions in computer words can be filled with spaces 
where the original items of data are short. Figure 2-8 shows the layout 
for a customer order on magnetic tape with fixed word length. 



PROCESSING DATA BY MACHINE 



59 






12 3 4 5 


6 7 8 9 10 


lOrder number 


Date 




2 


Name 






4 


Address 






6 


Customer code 






8 


Quantity 
shipped 


Quantity 
back ordered 









Quantity 
shipped 


Quantity 
back ordered 



1 23456789 10 



Name 








Address 








Address 








Stock 
number 


Quantity 
ordered 








Stock 
number 


Quantity 
ordered 






Stock 
number 


Quantity £ 
ordered, ^ 



11 



Figure 2-8. Customer order record, magnetic tape, fixed word length 

Longer items occurring in the data can be handled by using two 
or more computer words together to represent one item. Fixed-word 
equipment uses extra storage space, if words are filled out with spaces. 
If two or more items of data are packed into one word, extra steps are 
required to separate or unpack the items for individual processing. An 
opposite situation arises when an item is longer than a computer word 
so that two words are used to store an item. Both words must be treated 
together when making comparisons during sorting or when performing 
arithmetical operations. 

"Block" means a fixed number of words treated as a unit on a 
magnetic tape and in computer storage. Data on magnetic tape can 
be read only while the tape is moving at speeds of approximately 100 
inches a second. Inter-record gaps or blank spaces of about one-half 
inch on tape are required for starting and stopping tape movement. 
If the tape-packing density is 200 characters an inch, ten characters 
in a word occupy one-twentieth inch of tape. Tapes written with indi- 
vidual words would have ten times as much start-stop space as data 
space. In order to conserve space on tape, data are handled as fixed- 
length blocks of characters; for example, 720 characters consisting 
of 60 words of 12 characters each. A computer designed to handle 
variable-length fields may handle blocks as short as eight characters 
with no upper limit for length. In the conversion of data from punched 
cards to tape, the block length is limited to the 80 characters in a card. 
Short blocks may be consolidated into longer blocks during the first 
processing run to reduce tape length and cut read-write time in sub- 
sequent passes. 



60 ORIENTATION 



Direct 
Input 



Written Documents or Other 
Non-machine Media Types 

t 

Media 
Converters 



Machine-processable Media 



Computer Input 
Unit 

" r~ 

Electric Pulses -►/ 



/ — 



~i 





Internal 

Storage 

Unit 


<*-- 















i 



Control 
Unit 



a 



t 



Arithmetic 

and Logic 

Unit 




* 



Direct 
Output 



Computer Output 
Unit 



v J 



Machine-processable Media 



Media 
Converters 
1 



Reports, Checks, Orders, and 
Other Documents 



Flow of Data — 
Control Pulses — 



Figure 2-9. Schematic outline of automatic data-processing system 



PROCESSING DATA BY MACHINE 61 

CENTRAL PROCESSING UNIT 

A key feature of automatic data processing is the storage of data 
for electronic manipulation according to instructions stored with the 
data. Efficient processing involves media converters and input units, 
which get the data and instructions into storage for processing. Simi- 
larly, output units and converters are used to unload the processor 
and get results into a usable form. 

Figure 2-9 is a schematic diagram of the major elements of an 
automatic data-processing system. Input units are magnetic-tape, 
paper-tape, and punched-card readers. Electric typewriters are used 
for small-volume input and modification of instructions. Output units 
are magnetic-tape-recording units, card and tape punches, high-speed 
printers, and electric typewriters. 

The central processing unit has three components: (1) internal 
storage unit to receive input data, supply data and instructions during 
processing, and furnish results to the output unit; (2) arithmetic and 
logic section to perform calculations and make comparisons; (3) unit to 
control operations of the storage and arithmetic-logic units. 

The internal storage element, made of magnetic cores or a mag- 
netic drum, forms an integral part of the computer and is directly con- 
trolled by it. Internal storage is compartmentalized into thousands of 
individual locations that can store data or instructions. Each location 
has an address that is unique, so that it can be located by its number 
or by description — as we would locate a house from the instruction, 
"1627 Ann Arbor Avenue," or "3 blocks beyond the house where the 
Browns live." The first addressing scheme, which uses the street num- 
ber, is called "absolute;" the second is called "relative," since it de- 
scribes one location by referring to another one. Some interesting fea- 
tures of the relative addressing scheme will be discussed later. 

Computers with internally stored programs have operating in- 
structions stored internally with the data. Although similar to data, 
instructions are distinguished by their use. Instructions are executed 
by the control unit, to operate on the data or to modify other instruc- 
tions to fit new conditions that arise during processing. Computers 
with externally stored programs, on the other hand, get their operating 
instructions from wired plugboards. Some computers utilize both in- 
ternally and externally stored programs, since each type has desirable 
features. 

The arithmetic and logic unit might be called an electronic adding 
machine, for it performs adding and subtracting operations. Multipli- 
cation involves repeated additions and shifts, and division involves 
subtractions and shifts. An electronic arithmetic and logic unit can 
execute thousands of arithmetical operations a second compared to the 



62 ORIENTATION 

addition of several ten-digit numbers a minute by an experienced desk- 
calculator operator. 

The arithmetic and logic unit is used to make simple decisions 
that involve choosing between alternatives. If numbers are involved, a 
decision is an extension of addition or subtraction operations. The 
arithmetic unit distinguishes between positive and negative numbers. 
Depending on whether the remainder obtained from subtracting one 
number from another is positive or negative, the appropriate sequence 
of instructions is selected next. For example, a 5 per cent discount 
may be allowed on sales of $50.00 and over. It is easy to determine 
whether the amount of sale is $50.00 or more by subtracting $49.99 
from the sales price and checking the remainder. If the remainder is 
positive, the steps for calculating discount are used. No discount is 
allowed, of course, if the remainder is zero or negative, so the discount 
calculation steps are skipped. 

Items of data involving letters are compared in order to find which 
item is earlier or later in the collation table of values assigned to alpha- 
numerical characters. For letters, collation table values are in alpha- 
betic sequence. The binary value for B is higher than for A, that for 
C higher than the one for B, and Z has the highest binary value of the 
letters. Logical comparison of the name entries, "Jones, John" with 
"James, John" will indicate that "Jones, John" has a higher collation 
table value. In a sorting run using names as the sorting keys, "James" 
would be put ahead of "Jones" to get an alphabetic sequence. Nu- 
merical keys — stock numbers and invoice numbers — are used for sort- 
ing items into numerical sequence. Comparison is preferable to sub- 
traction to find whether one item is smaller or larger than another, for 
the comparison operation does not disturb the two numbers in the same 
way that subtraction does. 

The control unit of an electronic data processor is comparable 
to a telephone exchange. It sets switches and directs the operations 
and flow of data through the system. 

Somewhat simplified, the operating procedure of a typical com- 
puter is as follows: 

1. The control unit reads an instruction contained in a particular storage 
location. 

2. The control unit decodes the pulses received from storage. Each se- 
quence of pulses causes the control unit to carry out a specific opera- 
tion, such as comparing, adding, or storing data. Pulses also indicate 
the location of the data involved in the operation. 

3. The control unit reads the next instruction in sequence or goes to an- 
other place, as directed, to find the next instruction to execute. 

Instructions and data in computer storage are distinguished solely 
by the routing of pulses from internal storage. Pulses routed to the 



PROCESSING DATA BY MACHINE 63 

control unit are interpreted as instructions; those routed to the arith- 
metic unit are treated as data. Frequently, it is desirable to send an 
instruction to the arithmetic unit so that it can be treated as data and 
modified. For example, an instruction written as "ADD 276 means 
"add the contents of storage address 276 to the contents of the accumu- 
lator." This instruction, which is stored internally as a number, can 
be altered by placing it in the accumulator and adding to it the con- 
tents of some storage address that contains 1 to get, in effect, "ADD 
277." When this modified instruction is placed back in storage and 
used in a later cycle, the content of address 277 is added. The ability 
to operate on and change an instruction during processing is an ex- 
tremely important feature of electronic processors. 

On the other hand, data misdirected to the control unit are treated 
as an instruction. Since data are seldom in the correct form to be treated 
as instructions, an error indicator flashes and the computer stops. 



DATA FLOW 

The flow of data through a business involves pre-input, input, 
comparisons and computations, and output. 

The first stage, pre-input, involves collection of data in a suitable 
form. Handwritten or typed documents, oral orders, clock and meter 
readings, and physical counts are transferred to punched cards, 
punched tape, or magnetic tape by various means. Data converted 
into machine-processable forms from time cards, material receipts 
and issues, and other sources need not be handled manually again. 
Cards and punched tapes may be converted to magnetic tape for high- 
speed input. 

The desired data medium — magnetic tape, punched cards, or 
punched tape — is placed in an input unit that is electrically connected 
to the computer. Instructions to the control unit turn on the input 
unit and read some data. Electrical signals representing data on the 
input medium are converted to computer code and sent to a specified 
internal storage location. The read-in may be regulated by a buffer 
unit that compensates for the differences between the reading speed 
of a punched-card unit and the much higher rate at which the com- 
puter can receive data. Simultaneous operations of reading while com- 
puting and writing, called "read while compute while write," are used 
to speed up operations. 

The third stage in data flow consists of the logical and arithmetical 
operations: to arrange data in sequence, if required; to maintain files 
for insertion and deletion of changes; to update files for transactions; 
to issue reports and answer questions; to prepare production schedules 
and material requirements; and to compute answers to non-routine 



64 ORIENTATION 

problems, such as finding the best location for a new warehouse in 
view of plant and customer locations. 

Output of results is the fourth stage in the flow of data. An output 
instruction going to the control unit causes the transfer of the con- 
tents of one or more storage addresses to an output unit. Electric pulses 
in storage are decoded to create a corresponding record on an output 
unit that handles magnetic tape, printed paper copy, punched cards, 
or paper tape. Huge differences exist between the speeds of internal 
data transfer and "writing" on an output medium. This difference 
may be adjusted by output buffers that can receive results from the 
computer at high speeds and then store the results until a lower speed 
output unit is ready to unload the buffer. After loading the buffer, the 
computer can continue other operations, so that computing and writing 
are done almost simultaneously, with only short interruptions of the 
computer. The output unit may be designed to request a transfer of 
results whenever it is ready to receive them; this simplifies the oper- 
ating instructions required for the computer. 

A common solution to the problem of a printing unit's slowing 
down computer output is to use off-line printing. Results are transferred 
from internal storage to magnetic tape at speeds ranging from 10,000 
to 100,000 characters a second. The computer is then free to perform 
other operations while the magnetic tape is run through a high-speed 
printer handling from 1,000 to 5,000 lines a minute. At 120 characters 
per line, this is 2,000 to 10,000 characters a second. 

Television-like data display tubes can receive computer output 
about as fast as magnetic tape and serve as on-line output under di- 
rection of the control unit of the computer. Photographs of the display 
tube face are the readable copy. 

SUMMARY 

Many methods are used to represent, store, and operate on data. 
The efficient storage and use of data depend on the symbols, media, 
writer, and reader. Each combination of these factors imposes some 
restrictions on data-processing techniques, for all factors must operate 
compatibly. 

Punched cards and punched paper tape have been widely used 
for storing business data. The codes, as originally developed, tended 
to be limited to numerals alone, but were expanded to include alpha- 
betical characters fairly recently. Cards and tape both involve the 
mechanical operations of punching holes in paper. The width, length, 
and thickness of cards and tape influence the alphabet used, data den- 
sity, and processing methods. 

Magnetic recording media are similar to cards and paper tape in 
some respects, but have the highly desirable features that fewer me- 



PROCESSING DATA BY MACHINE 65 

chanical operations are involved and the media can be re-used for other 
data. 

Number systems owe much to the historical context in which they 
originated and developed. Various number systems — decimal, duo- 
decimal, hexadecimal, octal and binary, which you would recognize 
as counting by 10, 12, 16, 8 and 2, respectively — are widely used today, 
although we tend to overemphasize the decimal system. Computer de- 
signers prefer the binary system of data representation because two- 
state devices are easier to build and operate than multi-state devices. 
People, however, much prefer other systems so that some conversion 
from one system to another is required and is usually performed by 
equipment. 

Four-bit codes, with sixteen possible combinations, are often used 
for numerals. Six-bit codes are used to represent numerals, letters and 
special characters but are, of course, limited to a total of 64 charac- 
ters (2 6 =64). Alphanumerical codes usually have an additional parity- 
bit to detect the gain or loss of a bit that would change the desired 
character to an illegal character. A total of seven bits — six bits for the 
character plus a parity-bit — could represent 128 characters (2 7 = 128); 
but only half of the possible characters are considered legal. The adop- 
tion of the odd (or even) parity-bit scheme, according to the computer 
designer's choice, makes illegal all the characters that have an even 
(or odd) number of bits. The "loss'' resulting from ruling out half of 
the possible number of characters that can be formed with any specified 
number of bits when one is designated as a parity-bit, is widely con- 
sidered a fair price to pay for the increased ability to detect errors. 
The general idea of parity-bits need not be limited to one bit for a char- 
acter — transverse parity. One or more additional parity-bits may be 
used for several characters — longitudinal parity. Both transverse and 
longitudinal parity are sometimes used to increase the ability to detect 
and even correct errors in data recorded on tape. 

Multi-mode schemes are used to represent letters in codes that are 
basically numeric. The eight bits designated for two numerals can 
be used for one letter — two-for-one scheme — or the twelve bits desig- 
nated for three numerals can be used for two letters — three-for-two 
scheme. Some computers are designed to treat the bits of a word in 
any one of several ways at the programmer's option: binary, alpha- 
numerical, or octal, to maximize the density of data storage for the 
particular kind of data involved. 

Data are organized in the following ways for processing: 

1. Character — numeral, letter, punctuation, or other symbol. 

2. Item — characters grouped to specify a particular unit of information: 
order number, date, alphabetic name. 



66 ORIENTATION 

3. Line — one or more items of data on the same level, for example, stock 
number, name, quantity and price. 

4. Message — two or more lines of data that relate to the same trans- 
action. 

5. Record — organized and processed messages. 

6. File — a collection of related records. 

There are several schemes for organizing items for processing in 
view of the fact that their length may vary greatly. The "fixed- 
variable" scheme allows you to choose any length that you wish for 
an item, say, the stock number. But, once chosen, all stock numbers 
must be the same length at the expense of filling out short numbers 
with zeros or blanks. 

The "variable-length" scheme permits any item to be any length, 
without any restraints. An item separator is used between every two 
items. An item is not identified by its location but is identified by its 
sequence in relation to other items. This plan, in order to keep the 
item count correct, requires indication of any items omitted. 

The "fixed-word-and-block" scheme specifies the number of char- 
acters that are treated as a word and the number of words handled as 
a block. The word and block length are designed into the equipment 
by the manufacturer and the user must adhere to these restrictions. 

The flow of data through a business involves the following phases: 

1. Pre-input — collect data in a suitable form. 

2. Input — transfer or read-in data to the processing unit. 

3. Logical and arithmetic operations — maintain and process files, de- 
velop reports, and obtain answers to questions. 

4. Output — prepare and issue reports and answers in a form suitable 
for the user's requirements. 

REFERENCES AND SUPPLEMENTAL READINGS 

Haskins & Sells. Introduction to Data Processing, New York, Haskins & Sells, 
1957, 107 pp. This book relates the principal methods and devices used in 
data processing to the basic operations they perform. The first chapter pro- 
vides a general survey of the needs for data, sources of data, and processing 
methods. The second chapter outlines and discusses the basic data-process- 
ing operations of (a) classifying, (b) sorting, (c) calculating, (d) sum- 
marizing, (e) recording, and (f) communicating. Specific methods and de- 
vices for performing these operations are considered in the third chapter. 
The fourth chapter is devoted to punched-card methods and discusses 
(a) representation of data on cards and (b) methods of operation and func- 
tions performed by basic punched-card equipment. The discussion of elec- 
tronic data processing in the fifth chapter touches on (a) code forms (for 
both punched-card and electronic systems), (b) basic abilities, (c) principal 
components, (d) auxiliary equipment, and (e) programming. The principles 



PROCESSING DATA BY MACHINE 67 

and problems in the areas of integrated data processing, and the organiza- 
tion and control of data-processing activities are considered in the last two 
chapters. Numerous diagrams illustrating equipment, equipment operation, 
and methods of representing data on media are included in the book. 
Lerner, Irwin S. "Digital Computers Need Orderly Number Systems," Con- 
trol Engineering, vol. 2: 82-89 (November 1955). Only a few of the avail- 
able number systems are well suited to machine methods. This article deals 
with systems for counting and forming numbers in decimal, binary, and 
octal. Several methods of coding decimal digits in binary form are shown 
to simplify computer design yet give results in decimal form for people to 
use. A code may be extended to provide a check against computer malfunc- 
tion. Some codes require the addition of a checking digit. 

"Numerals" and "Numeral Systems." Encyclopaedia Britannica, vol. 16: 
610-15 (1957). Treats the development of numerals from the early Hindu, 
through cuneiform to the Greek and Roman. These systems had special 
symbols for larger numerals and used the add-subtract process to form 
numbers. For example, in Roman numerals LIX means 50 + (-1 +10). 

Cuneiform inscriptions show some appreciation of the place value con- 
cept. The Mayans developed a base 20 number system and attached place 
value to each position with values of 360, 20, and 1 in the first three posi- 
tions. 

The zero, which is an important feature of number systems using place 
value, was known in India by the close of the eighth century. 

The pair system, used by New Guinea tribes, has numerals for "one" and 
"two" only and forms other numerals by addition to the pair: 5 = 2 + 2+1. 
Two forms of the decimal system are the quinary decimal, which forms 6 
through 9 as 5+ 1, 5 + 2, and so forth, and the pure decimal consisting of 
through 9. 

RCA Electronic Data Processing System 501, Programmers' Reference Man- 
ual, Camden, New Jersey, Radio Corporation of America, 1958, 81 pp. This 
programmers' reference manual is similar to the manuals furnished by the 
equipment manufacturer for each computer manufactured. It includes de- 
scriptions of the general system, on-line peripheral equipment, the com- 
puter, and the instruction code. The merits of completely variable organi- 
zation of data on tape which the 501 computer employs are contrasted with 
fixed-variable and fixed word-length organization of data. 

Richards, R. K. Arithmetic Operations in Digital Computers, New York, 
D. Van Nostrand Co., Inc., 1955, 384 pp. This text was prepared in answer 
to the question, "How does a digital computer work?" from the logical or 
internal-design viewpoint. A complete treatment of number systems is pre- 
sented along with the basic theorems of Boolean Algebra. Various tech- 
niques in current use for addition and multiplication are demonstrated both 
for binary systems and for the binary-coded decimal machines. Chapters 
are included on computer organization and control, and on programming. 



CHAPTER THREE 



BASIC COMPUTER 
PROGRAMMING 



Programming a computer involves analyzing the problem to be 
solved and devising a plan to solve it. The list of instructions for carry- 
ing out a sequence of desired operations and solving a problem is called 
a "routine." Problem analysis, which is almost independent of the 
methods used to process data, is covered in a later chapter. Instruc- 
tion routines, on the other hand, are closely related to the equipment 
and processing methods used. A desirable way to learn how to prepare 
instruction routines is to study a specific computer and its related 
equipment. The hypothetical computer discussed in this chapter has 
typical, although simplified, features; studying it will reveal basic prin- 
ciples applicable to programming many computers. Except when other- 
wise stated, the comments in this chapter pertain to the hypothetical 
computer, although they may apply to actual computers. A manu- 
facturer's programming manual is, of course, the best source of facts 
about a particular computer, and it should be consulted by anyone 
learning to program that computer (IBM 650 Magnetic Drum Data- 
Processing Machine Manual of Operations, 1957, and Univac 11 Data 
Automation System, 1957). 

This chapter covers basic techniques of programming. Some fea- 
tures of advanced programming are described in Chapter 8. Chapters 
4 through 7 cover input-output equipment, storage, arithmetic and 
control units, and available automatic processing equipment. Only 
passing reference is made in this chapter to equipment components; 
Chapters 4 through 7 should be consulted for a more detailed discus- 
sion of them. (The beginning student may find it useful to study these 
four chapters and then review this chapter on basic programming be- 
fore continuing with advanced programming techniques. ) Some text- 
books concentrating on programming are: Andree (1958); McCracken 
(1957); and McCracken, Weiss, and Lee (1959). Thomas (1953) has a 
short, intensive coverage of programming. 

68 



BASIC COMPUTER PROGRAMMING 
INTRODUCTION 



69 



Many simplifications are made in devising the hypothetical com- 
puter discussed here. Questions and problems at the end of the chapter 
develop some points in more detail. Practice in answering questions 
and solving problems is invaluable in learning the fundamentals of 
programming. 

All stored-program computers (those handling instruction routines 
stored with data) have the four main units shown in Figure 3-1. Solid 
lines indicate paths for data flow and broken lines show paths for 
control pulses. 




Instructions 



Control unit 



i_j 



Input-output 
units 



Reports 



Arithmetic unit 



Internal storage unit 
for data and 
instructions 



DATA FLOW PATH 



INSTRUCTION FLOW PATH 



Figure 3-1. Simple block diagram of a computer 

Input-Output 

Input and output units bring in data and give out results in the 
form of reports, summaries, or files for later use. The input and output 
units available for the hypothetical computer discussed here are several 
combination card reader-punches and some magnetic-tape-handling 
units. 



70 ORIENTATION 

Internal Storage 

The internal storage unit, where data and instructions must be 
placed before they can be used, has 1,000 locations or addresses num- 
bered 000 to 999. Reference to data or instructions is made by means 
of the storage location numbers, for example, "237" or "652," where 
the data or instructions are contained. 

Each storage location can hold a "word" of 7 alphanumerical 
characters and a plus or minus sign. The sign is stored at the left end 
of all words but is not significant for alphabetic words, such as 
+ JOHN D., or -MAIN ST. A word in high-speed storage is treated 
as part of the instruction routine, if it is sent along control pulse paths 
to direct operation of the computer. A word sent along data flow paths 
is treated as data. Whether a word is treated as data or an instruction 
depends on how it is used, for the two look alike in storage. As will be 
shown later, an instruction can be treated in the same fashion as data 
to modify it for later use. The ability to modify instructions during 
processing is a central feature of stored-program computers. 

Arithmetic and Control 

The arithmetic unit performs the four arithmetical operations: 
adding, subtracting, multiplying, and dividing. This unit also handles 
logical operations, such as determining whether an inventory balance 
is below the re-order point. The control unit sets up computer cir- 
cuits to decode and execute the instruction routine, as explained in 
Chapter 2. 

OPERATIONS 

An instruction can be put in any storage location that can hold 
a sign and 7 alphanumerical characters. A short word length of 7 char- 
acters and sign is used here for brevity. The unique number 7 is useful 
to avoid thinking of the hypothetical computer as being real, for few, 
if any, computers have a word of this length. 

Instruction Format 

The composition of an instruction in the hypothetical computer 
includes the following elements: 

1. An instruction operation code of three characters, which instructs the 
computer to read, write, compare, add, subtract, and so forth. 

2. Three characters for identifying (1) the location of data to be op- 
erated on, (2) the location to store a result, or (3) the location of an 
instruction. These characters may also be a special constant. 

3. Designation, by a single character, of a special unit of the machine, 
such as an "A" for index register A. 



BASIC COMPUTER PROGRAMMING 



71 



The format of an instruction written on programming sheets, 
punched in cards, or stored in internal storage is as follows: 

Sign 12 3 4 5 6 7 



+ 


R 


C 


2 







2 


3 



Positive sign for Operation Refers to an Address or 
instructions code index register special constant 

The precise arrangement of letters and numerals in an instruction 
is important because it is possible to operate arithmetically on an in- 
struction by adding, say, 4 in the right end to change the instruction 
illustrated from +RC2 023 to +RC2 027. 

The instruction " +RC2 023" means "read the next card in card 
reader number 2 and store the data from that card in the necessary 
number of words in high-speed storage starting at location 023.'' In- 
struction codes and other alphabetic data are written in capital letters 
because the code scheme used in the hypothetical computer cannot 
handle both capital and lower-case letters. The lower-case letters used 
to explain how instructions work are for the programmer's benefit and 
do not go into the computer. 

Sequence of Execution 

Instructions are performed in the order of the addresses at which 
they are placed in high-speed storage, unless the machine is specifically 
instructed to change the sequence by skipping either forward or back- 
ward. The control unit has an instruction counter that keeps track 
of the storage location of the current instruction. The sequence can 
be changed by an instruction that resets the counter to the location 
of the instruction that should be executed next. The instruction counter 
is, in a sense, a guide for finding the instruction to execute. The instruc- 
tion register contains the instruction itself. 

Instruction Cycle 

The computer described here operates in a cyclical manner. The 
computer cycle for performing one instruction consists of five steps: 

1. The control unit takes the address of the next instruction from the 
instruction counter and copies the instruction into the instruction 
register. 

2. The control unit decodes the instruction in the instruction register. 

3. If the operation requires data from storage, the word specified by the 
address part of the instruction is transferred to the appropriate oper- 
ating unit. 

4. The appropriate unit performs the required operations, such as add- 
ing, subtracting, or placing results in storage. 



72 ORIENTATION 

5. The address in the instruction counter is increased by one, or, if the 
regular sequence of instructions is being broken, it is reset to the 
desired address to start the next cycle. 

The control unit returns to step 1, unless the instruction program 
calls for the machine to halt operations. 

INPUT-OUTPUT OPERATIONS 

Certain types of input-output operations are basic to all stored- 
program computers. Punched cards and magnetic tape are the input 
and output media provided for the hypothetical computer discussed in 
this chapter. It is assumed that any data needed were previously 
punched in cards or recorded on tape. Output from the computer is 
punched in cards or written on tape. Any printed copy desired will be 
prepared later by an off-line printer. In an actual operation, the pro- 
grammer must specify complete details for data input and output for- 
mat and operating instructions for people. 

Punched Cards 

Two punched-card units are connected to the computer for on-line 
operation. Reading and punching are completely independent opera- 
tions: data cannot be read from and punched into the same card. Pro- 
gram instructions for the read-punch units select the desired unit, 
number 1 or 2, and either read or punch a card. Reading data into 
storage destroys what was already there; but punching data into cards 
or tape leaves the contents of storage unchanged. The instructions 
for reading and punching cards are as follows: 

Code Explanation 

RCn x Read the next card in card unit n where n is 1 or 2. Place the 

data from the card into ten consecutive storage locations start- 
ing with address x, where x is a three-digit number 000 
through 999. 

PCn x Punch the next card in card unit n (1 or 2) with ten words from 

ten consecutive storage locations starting with address x. 

The small letters 'V and "x" are used solely for identifying ele- 
ments of an instruction and are not interpreted by the computer. You 
will recall that the computer can handle only upper-case letters. 

A routine can be developed from these two instructions for reading 
one or more cards into storage and punching the data into other cards. 
The cards will merely be duplicated, which is a trivial operation on 
punched-card equipment, but the idea of an instruction routine is 
introduced. The program will read data from six cards in card reader 
number 2 and punch the data in six cards in card punch unit number 1. 



BASIC COMPUTER PROGRAMMING 73 

The program itself can be placed anywhere in high-speed storage, but 
it is assumed, for simplicity, that someone has already read it into 
locations* with addresses 000 to Oil to simplify operations here. Data 
are read into storage locations 100 through 159 and remain there after 
punching is completed. 

Location Content Explanation 

000 RC2 100 Ten words on the first card in card unit 2 are read 

and placed in storage locations 100 through 109. 

001 RC2 110 Ten words on the second card in unit 2 are read 

into storage locations 110 through 119. 

Similar to first two read operations: next card is used 
and storage locations are advanced by 10. 



Ten words in storage locations 100 through 109 are 
punched in the first card in card unit 1. 

Similar to first punch operation: next card is punched 
and storage locations are advanced by 10. 



002 


RC2 


120 


003 


RC2 


130 


004 


RC2 


140 


005 


RC2 


150 


006 


PCI 


100 


007 


PCI 


110 


008 


PCI 


120 


009 


PCI 


130 


010 


PCI 


140 


011 


PCI 


150 



Layout in Storage 

It is important to note that the twelve instructions are stored in 
locations 000 through 011. When 000 is the location of the first instruc- 
tion, the second is stored in location 001. Care is necessary to avoid 
the error of counting from 1 instead of from 0. Drawing a chart of stor- 
age and indicating the contents of selected locations, as in Figure 3-2, 
is useful. 

Magnetic Tape 

Magnetic tapes are also used for data input and output. Data can 
be read from or written on any tape, but in the computer discussed 
here reading and writing cannot both be done at the same time. The 
ten tape-handling units are numbered through 9 for selection pur- 
poses; the reel of magnetic tape placed on tape-handling unit number 
3, for instance, is available when tape unit 3 is selected for use. A file 
number can be recorded on magnetic tape for identification; but when 
the tape is placed on a tape-handling unit, it is identified by the number 
assigned that tape-handling unit. 

Transfers of data from and to cards and tape are much slower than 
high-speed storage transfers. Special devices called "buffers" are used 
exclusively between input-output units and high-speed storage. Data 



74 



ORIENTATION 



+ RC2 100 



+ RC2 110 




Figure 3-2. Layout of instructions and data in storage 



BASIC COMPUTER PROGRAMMING 75 

are handled in groups of words called "blocks" to facilitate movement 
between buffers and either input-output units or high-speed storage. 
A block of words for punched-card input-output is 10 words and for 
magnetic-tape input-output, 60 words. 

In handling one block of data, a tape-handling unit operates as 
follows: accelerates tape up to rated speed, reads or writes 60 words, 
decelerates, and stops tape motion. Records are not written continu- 
ously on tape, but gaps are left between records to permit acceleration 
and deceleration of tape. Special instructions are used to move blocks 
of words (1) between tape units and the buffer and (2) between the 
buffer and high-speed storage. Magnetic tape can be read while moving 
in only one direction (from beginning to end) in the computer dis- 
cussed here, although some computers read data from tape moving 
in either direction. 

The instructions to transfer data from high-speed storage to the 
output buffer and to write on tape are as follows: 

Code Explanation 

BOn x Block transfer out a block of data from 60 consecutive loca- 

tions starting with address x to the buffer storage of tape unit n 
where n designates tape unit through 9. 

WTn x Write on tape the block of data in the buffer of tape unit n 

onto the tape in that unit. Data in the buffer remain un- 
changed but prior contents of tape are lost. 

A simple program, similar to that shown for reading 6 cards and 
punching them, shows how cards are read into storage, transferred to 
a magnetic-tape buffer, and written on tape. 

Explanation 
Read ten words on the first card in card input unit 2 
110 and place in storage locations 100 through 109. Re- 
peat for next five cards placing in succeeding loca- 
tions 10 words later. 



.ocation 


Content 


000 


RC2 


100 


001 


RC2 


110 


002 


RC2 


120 


003 


RC2 


130 


004 


RC2 


140 


005 


RC2 


150 


006 


B09 


100 


007 


WT9 






Sixty words in storage locations 100 through 159 are 
transferred to the buffer storage of tape unit 9. 

The sixty-word block of data in the buffer storage of 
tape unit 9 is written on the tape. 

This hypothetical instruction routine merely illustrates input- 
output operations. The reading and writing operations would also 
be used with other instructions (discussed later) to process data. 



76 ORIENTATION 

To complete the input-output operation, instructions are needed 
for (1) reading the tape, (2) transferring a block, and (3) rewinding 
the tape. 

Code Explanation 

RTn Read the next block of data on tape unit number n, where n 

is from to 9, and place the data in buffer storage for that 
tape unit. Data on tape are unchanged. 

Bin x Block transfer in a block of data from the buffer of tape unit 

number n into 60 consecutive locations in high-speed storage 
starting with address x. 

RWn Rewind the tape on tape unit n. No change occurs in data on 

tape or in buffer storage. 

These three instructions and four defined and illustrated earlier — 
RCn x, PCn x, BOn x, WTn x — will handle input 
and output of data for both punched cards and magnetic tapes. Other 
instructions are used to simplify the input-output operations, perform 
computations, and make decisions. 

CYCLES 

The input-output routines illustrated above are inefficient as far 
as programming time and the use of storage for instructions are con- 
cerned; but they are efficient as far as computing time is concerned. 
Too many instructions are used to read data from cards into storage or 
to punch stored data into cards. If each card contained fewer words, 
perhaps only two, a block of sixty words would take thirty cards and 
would require thirty reading instructions. 

Some repetitious instructions are only slightly different each time 
they are used, as, RC2 100, RC2 110, RC2 120. Their use can be 
simplified greatly by setting up the instruction RC2 only once, and 
modifying the address part from 100 to 110, 120, and so on, as it is 
used. Index registers are used to modify the instruction address during 
each cycle. 

Index Registers 

An index register is a counter that can be set to 000 or any desired 
number. The number in an index register is used in conjunction with 
a computer instruction in order to get an "effective address" that is 
used in executing the desired instruction. Neither index content nor 
instruction address alone is used, but both are taken together to form 
the effective address for the purpose of executing the instruction. 
Neither the index nor the instruction is changed by the effective ad- 
dress scheme; this means that the index register can be used with as 



BASIC COMPUTER PROGRAMMING 77 

many different instructions as desired to get an effective address for 
each. For example, if an index register containing the number 10 is 
used with the order RC2 127, then the effective address is 127 + 10 
or 137. Contents of the next card in reader number 2 will be put in 
storage locations starting at 137 (not 127); but the instruction RC2 127 
remains unchanged. The index register content can be increased from 
10 to 20 before it is used in the next cycle, so that the effective location 
for storing contents of the next card will be 127 + 20 or 147. 

The computer described here has three index registers identified 
as A, B, and C. Each index register contains a three-digit number from 
000 to 999 which can be set or increased, as desired, and used in asso- 
ciation with addresses of instruction when they are executed to form 
effective addresses. The number in an index register can be compared 
to the contents of any desired storage location. This affords a criterion 
for determining whether the instruction loop has been repeated enough 
times to complete the cycle — which must be done before other opera- 
tions can be performed. 

General Scheme of Indexing 

The three parts of indexed operations are the set-up, the loop, 
and the exit. In the set-up or initial steps, select an index register and 
set its contents at zero or some other value. A criterion, which is a num- 
ber used to test the content of the index register by comparison during 
each loop, is placed in a storage location. The criterion is often equal 
to i + (nxL) where i is the initial value of the index, n is the incre- 
ment or spacing between operands, and L is the number of loops to be 
performed. The criterion may be by other schemes for indexing: i + 
(nxL)- 1; 0, or n. 

The loop consists of three functions. The first of these is to execute 
the operations desired in the main program by using the effective ad- 
dress (the address in the instruction plus the number in the index reg- 
ister). The second is to increase the number in the index register by 
the "spacing" of the operands (words to be operated on), which may 
be in consecutive locations, two words apart, or any distance apart. 
In organized records, the spacing between operands is equal to record 
length, as illustrated below. The third function is to test the index 
register number against the criterion to find whether the loop has been 
repeated enough times. If the cycle is incomplete — shown by the fact 
that the index number is not equal to the criterion — the loop continues 
to execute the desired operations. If testing the index register against 
the criterion indicates that the cycle is complete — because the index 
register number is equal to the criterion — the computer exits from the 
loop and continues with the main program. 



78 



ORIENTATION 



Execute: 
Add next 
stock value 



Count: 

Increase number 
in index B by 5 




Set-up: 

1. Set index B to zero 

2. Establish criterion of 15 



Continue loop if index 
B not equal to criterion 



Exit if number in index B 
equals criterion of 15 



Test: 

Compare number in index B 
with criterion of 15 



1 


i ■ ■ 

Index B 


Criterion 




Effective Address 


Increase Content 


Result of Test 


Set-up 









15 




Loop 1 103 + = 103 


5 




5 


15 


Not equal, repeat 


Loop 2 103 + 5 = 108 


5 




10 


15 


Not equal, repeat 


Loop 3 103 + 10 = 113 


5 




15 


15 


Equal, exit to 
continue program 



Figure 3-3. Fundamentals of operations involving an index 

Forgetting for a moment the necessary instruction, consider the 
indexing operations for the simple case of adding the value of inventory 
on hand. Figure 3-3 shows the indexing of three stock items that have 
five-word records in storage locations 100 through 114. The records are 
organized as follows, with the operands of interest indicated by arrows: 



100 


101 




102 


103 




104 


105 




106 




107 


Stock 
number 


Quan 


Price 


Value 


Bin 


Stock 
number 


Quan 


Price 


A 

108 109 110 111 


. Spacing 5 ► 

112 113 114 


Value 


Bin 


Stock 
number 


Quan 


Price 


Value 


Bin 



■/■ 



Spacing 5 



■/ 



Three loops are required for three items with a spacing of 5, so the 
criterion is set at 3x5 or 15. Assume that the loop contains an ADD 



BASIC COMPUTER PROGRAMMING 



79 



B103, which has an effective address of 103 in the first loop when in- 
dex B is zero. In the second loop the effective address is 108 when 
index B contains 5, and 113 when index B contains 10. After the addi- 
tion operation is executed in the third loop, the number in index B is 
increased to 15, which equals the criterion of 15 set up earlier, and 
when the test is made, results in the computer's making an exit from 
the loop and continuing with the main program. 

Indexing Instructions 

The instructions to set, increase, and test index registers are as 
follows: 

Code Explanation 

S IS y x Set index register y (where y designates index A, B, or C ) from 
storage. The three right-hand digits from the storage location 
with address x are put into the index. The content of storage 
location is not disturbed. The sign of the word in the storage 
position is irrelevant since an index is not signed. 

INC y n increase the content of register y by the number n, where n is 
the increment — not a storage location, "n" is a three-digit 
number from 000 through 999 inclusive. 999 increased by 1 
is 000. 

CIS y x Compare content of index register y to the criterion in the 
right-hand three digits in storage location x without regard 
for the other four characters. If the index register content is 
not equal to the criterion, take the next instruction in se- 
quence. If they are equal, skip one instruction and continue — 
that is, advance the instruction counter by 2 instead of by 1 
and execute the instruction in that location. Contents of the 
index register and storage location remain unchanged. 

The format of an instruction involving an index register is shown 
below. The character in the fourth position identifies the index; the 
numerals in positions 5 through 7 indicate an address in the instruction 
for setting or comparing an index register. Character positions 5 
through 7 indicate a number in instructions used for increasing the 
content of an index register. 



Sign 1 


2 


3 


4 


5 


6 


7 


+ s 


I 


S 


y 





2 






Positive sign for 
instructions 



Operation 
code 



Identifies 
register A, B, 



Address or 
special constant 



80 ORIENTATION 

Effective Addresses 

One useful feature of an index register is its ability to modify 
the basic address of any indexable instruction to get an effective 
address when the instruction is executed. For example, the instruc- 
tion RTn y x, when an index is indicated in the "y" position by the 
letter A, B, or C, is executed with the effective address of x plus the 
number in index A, B, or C. The effective address concept of location 
x plus content of an index register will be stated, for brevity, as "loca- 
tion x, indexed.'' An instruction that can be indexed when it is executed 
is said to be "indexable.'' A blank in the "y" character in an instruc- 
tion means that no index is used and the effective address is merely 
equal to x. 

All instructions that contain the letter y to identify an index are 
indexable except the three that are used to set, increase, and compare 
an index register: SIS y x, INC y n, and CIS y x. These three 
instructions are called "indexing'' instructions. 

It is important to understand that the effective address scheme 
changes neither the instruction being executed nor the index register 
involved. The use of indexes for effective addressing is similar to cata- 
lysts in chemical operations: they make the operations possible but 
are not, themselves, affected. 

Sequence Interruption 

One more instruction is required to return to the start of the loop 
in order to repeat it. The execution of instructions in a straightforward 
sequence as stored is interrupted and the loop repeated from the be- 
ginning. 

Code Explanation 

J MP y x The content of the instruction counter is changed to x. The 
effect of this is to jump unconditionally to take the next in- 
struction from storage location x, indexable. 

If the instruction is JMP A 120 and index register A contains the 
number 555, the next instruction will be taken from storage location 
675. It is possible to jump to a lower-numbered storage location even 
though index registers contain only positive numbers and their con- 
tents are used to increment the specified address to get the effective 
address. For example, JMP A450 with index register A containing 700 
would give an effective address of 150. The sum of 450+700 = 1150 is 
treated as 150, because the highest storage location is numbered 999 
so that an address of 1000 is considered to be 000. If no index is in- 
dicated, as in JMP 267, the next instruction is taken from storage 
location 267. 



BASIC COMPUTER PROGRAMMING 81 

Indexed Read-in 

The instructions for setting, using, modifying, and testing index 
registers can be illustrated on the read-write program given earlier to 
show the efficiency of indexing the reading instructions. Assume that 
only the first 2 words on 30 cards are wanted on the output tape, al- 
though all 10 words on each input card must be read at one time. The 
10 words from the first card are read into storage locations 100 to 109. 
The 10 words from the next card are read into locations 102 to 111 
to cover all but the first 2 words from the first card. The read-in opera- 
tion is performed 30 times after which high-speed storage contains 
2 words from each of the first 29 cards in locations 100 to 157, and the 
10 words from card number 30 in locations 158 to 167. The contents of 
30 cards, in effect, are shingled in locations 100 to 167 with only the 
desired first two words remaining in locations 100 to 159. The 8 words 
that are not wanted in locations 160 to 167 will be ignored when 
writing only 60 words on tape and, therefore, discarded. A program 
to read 30 cards, store the first 2 words from each card, and write the 
60 words on tape is: 

Location Content Explanation 

000 0000060 Criterion of spacing interval of 2, times the number of 

loops (30). 

001 0000000 Zero used to set index initially. 

002 SIS A001 Setindex AtoO. 

003 RC2 A 100 Read the next card in reader number 2 and store in 

ten consecutive locations beginning at effective ad- 
dress of 100 plus content of index A. Index A contains 
on first cycle, 2 on second, and so forth, to 58 on 
thirtieth. 
004- INC A002 Increase content of index register A by 2: from to 2 

on first cycle, 2 to 4 on second, and so forth. 

005 CIS A000 Compare contents of index register A and storage 

location 000 which contains 060 in the three right- 
hand digits. If contents are unequal, take next in- 
struction in sequence — 006; if equal, skip one instruc- 
tion to address 007. The criterion of 60 is used to cover 
30 loops and a spacing of 2 each cycle: 30x2 = 60. 

006 JMP 003 Arrival at this point from the preceding comparison 

instruction means that the cycle count is not yet com- 
plete; therefore, jump to storage location 003 to read 
another card until 30 cards are read and stored in 
shingled fashion. 

007 B09 100 Arrival at this point from the instruction in 005 means 

that the loop count of 60 is equal to the criterion of 



82 



ORIENTATION 



060 in location 000 and the cycle is complete. There- 
fore, transfer the block of words from locations 100 
through 159 into buffer of tape unit number 9. 

008 WT9 Write block of data from buffer storage to tape on 

unit number 9. 

009 JMP 002 Jump to location 002 to reset index register A to 000 

and repeat the reading cycle 30 more times. This will 
continue until the card reader is emptied or tape is 
filled and the machine stops. 
It is useful to visualize how 30 reading operations and one writing 
operation are performed by means of a loop consisting of 8 instruc- 
tions and 2 constants. The flow diagram is in Figure 3-4. 

The values in index register A and the effective address used for 
storing card contents during each loop are traced in Table 3-1. After 
the loop is completed 30 times, index register A contains 060 so that 
the program jumps to address 007 on the comparison instruction. The 
60 words are transferred to buffer and written on tape. A jump returns 
the program to location 002 to set index register A to 000 and restart 
the cycle through the loop 30 times. The use of index registers is in- 
tricate enough that the routine and trace of operations should be ex- 
amined carefully. The critical points are the first and last loops in each 
cycle, because it is easy to lose or gain a cycle by careless programming. 

Table 3-1. Trace of Operations in Read-write Loop 
Using an Index Register 



Location Content 


Loops in Cycle 1 
1 2 3 j 


V 


000 


0000060 


060 


001 


0000000 


000 


002 

003 


SIS AOOl 
RC2 AlOO 
(effec- 


000 
100 


>102 


r>104 


► 


004 
005 
006 
007 


tive 

address) 
INC A002 
CIS AOOO 
JMP 003 
BT9 100 


002 

060 


004 
060 


006 
060 




008 


WT9 






009 


JMP 002 


\ 




Loops in Cycle 2 



rK)00 
100 



002 
060 



►102 



004 
060 



BASIC COMPUTER PROGRAMMING 



83 



START 



Set index register A 
to 000 



Read a card in reading unit 
number 2 and store in 10 
consecutive locations starting 
at effective address 100 plus 
content of index A 



Modify the content of index 
register A by increasing it 
by 002 



Test cycle count by com- 
paring content of index 
register A with criterion 
of 060 



UNEQUAL 



EQUAL 



Transfer the data 
to buffer and write 
on tape 



Figure 3-4. Flow diagram of read-write loop using an index 



84 ORIENTATION 

Consecutive Word Selection 

The program for taking the first 2 words from a series of cards and 
writing them on tape is relatively simple because the other 8 words 
can be discarded merely by storing words from the next card over them. 
If some other words, say, numbers 4 through 9 from each of 10 cards 
are wanted, several instructions are required to discard the first 3 words 
on each card yet keep the desired words after the read-in operation. 
The steps involved, which are illustrated in Figure 3-5 for the first, 
second, and tenth cards, can be described as follows: 

1. Read the 10 words from a card into an area in storage reserved for 
working on data. 

2. Block transfer 60 words, starting with word number 4 from the new 
card, to a buffer unit serving as temporary storage. The fact that 
words 4 through 10 from the next card and 53 other words are picked 
up by the instruction to transfer out a block causes no difficulty. 

3. Block transfer in 60 words (card words 4 through 10 and 53 others) 
from buffer storage to a second working area in high-speed storage. 
The unwanted tenth word from each card will be destroyed when 
data from the next card are stored over it. 

4. The 6 desired words from each of 10 cards in the second working stor- 
age area are transferred to a tape unit buffer and then written on tape. 

Saving 6 words from the center part of a card shows how two 
working areas in storage are useful to select, rearrange, and discard 
data. The two-stage transfer of 60 words into and out of buffer storage 
in order to get the words desired is indirect. An instruction to move 
one (or more) words from one location in high-speed storage to another 
would be more direct and is provided in some computers. 

The illustration above will handle the selection of one or several 
consecutive words from any part of a card. Desired words can be se- 
lected merely by discarding unwanted words at either or both ends 
of the ten words read from a card. More complexities arise if words 
separated on each card are wanted — the first, third, and eighth words, 
for instance. After the data on a card are read into storage, individual 
words can be selected and stored wherever desired by means of two 
new instructions involving a special register called the "accumulator." 
For the purpose of moving data about in storage, the accumulator 
is a one-word special storage location that can be loaded from or un- 
loaded into any other location in high-speed storage. This special reg- 
ister is called "accumulator" because it is used in arithmetical opera- 
tions, as described later. The instructions for loading the accumulator 
and storing its contents are: 



Card Unit 
Read card 1 



Working 
storage / 
area 1 
area 2 — 



BASIC COMPUTER PROGRAMMING 85 

High speed storage Buffer storage 





Block 






1 23456789 10 


transfer 


4 5 6 7 8 9 10 






out 60 
words 




L 






1 


/ 


4 5 6 7 8 9 10 


Block transfer in 




60 words 





Read card 2 




4 5 6 7 8 9 10 




V 


y 



4 5 6 7 8 91 4 5 6 7 
8 9 10 



Read card 1 




4567894567 
8945678945 
6789456789 
4567894567 
8 9 4 5 6 7 8 9 4 5 
678 91 4 56789 
10 



4567694567") 


8945678945 


6789456789 


4567894567 


8945678945 


6789456789 J 



10 



Block 

transfer 

it, 


4567894567 
8945678945 
6789456789 
4567894567 
8945678945 
6789456789 


out 60^ 
words 



Write 60 words 
on tape 



Figure 3-5. Use of buffer storage to isolate words 4 through 9 
from each of 10 cards 



86 ORIENTATION 

Code Explanation 

CAA y x Clear accumulator content to zero and add the content of stor- 
age location x, indexable. The accumulator will have the same 
content as the storage location which is not disturbed by this 
operation. 

ST A y x Store the content of the accumulator in the storage location x, 
indexable. The accumulator content remains unchanged, but 
the prior content of the storage location involved is destroyed. 

Individual Word Selection 

Consider an example involving reading data from cards, selecting 
desired words, and writing them on tape. The first and fourth words 
from cards are to be put on one tape, with the first words in the first 
30 words in a tape block and the fourth words in the second half of the 
block: 1,1,1,1 . . . 4,4,4,4 .... The first and ninth words from each 
card are to be stored in alternate fashion 1,9,1,9 . . . on another tape. 

The program to read data cards, select desired words, and write 
them on tape in the specified sequence is: 

Location Content Explanation 

000 0000030 Criterion for testing cycle count. 

001 0000000 Constant for setting indexes. 

002 SIS A001 Set indexes A and B to 0. 

003 SIS B001 

004 RC2 050 Read ten words from a card in card reader number 2 

into storage locations 050 to 059. 

005 CAA 050 Clear accumulator and add first word from card. 

006 STA A 100 Store in locations 100 and 200 on first cycle, in 101 

007 STA B200 and 202 on second cycle, and so forth. 

008 CAA 053 Store fourth word from card in location 130 on first 

009 STA A 130 cycle, 131 on second cycle, and so forth. 

010 CAA O58 Store ninth word in location 201 on first cycle, 203 

011 STA B201 on second cycle, and so forth. ' 

012 INC A001 Increase index register A by 1 and B by 2. 

013 INC B002 

014 CIS A000 Compare content of index register A with criterion 

015 JMP 004 030 in location 000 to determine whether 30 cards 

were read. If index register A is less than 30, jump to 
location 004 to read next card. If index register A is 
equal to 30, cycle is complete. Go to location 016 for 
next instruction. 



BASIC COMPUTER PROGRAMMING 87 

016 B07 100 Load buffer of tape unit 7 with 60 words from loca- 

017 WT7 tions 100 to 159 and write on tape number 7. 

018 B08 200 Load buffer and write tape number 8. 

019 WT8 --- 

020 JMP 002 Return to beginning of program to reset indexes and 

restart cycle if there are more cards and tape; other- 
wise, machine stops. 

COMPARISONS 

The program illustrated above for selecting 2 words from each 
card and writing them in blocks of 60 words on tape keeps the words 
in the same order as the cards. If the input cards are in sequence, then 
the output will be in the same sequence. Two choices exist if data must 
be in sequence for efficient processing. The first is to sort the cards 
and check their sequence during the computer input operation. The 
second is to leave the cards unsorted, but to sort the data into the de- 
sired sequence by using the computer to select the next item in se- 
quence and using magnetic tapes for storing items between sorting 
passes, if high-speed storage cannot cope with all the data. The pro- 
cedures for sorting with a computer are discussed at some length in 
Chapter 9. 

Comparisons and the Three-way Exit 

The simple task of checking the sequence of data in a computer 
requires an instruction that can compare the contents of two storage 
locations. When the contents of two locations, one of which is the ac- 
cumulator and the other is in high-speed storage, are compared, there 
are three possible results: (1) the content of the accumulator is smaller 
than storage location content, (2) the contents are equal, and (3) the 
content of the accumulator is larger. The flow-chart block for this in- 
struction is: 

- __, 1 , 

( Accumulator content: Content of location x J 



Accumulator <x Accumulator = x Accumulator > x 

t t t 



Following the comparison instruction, one jump instruction is re- 
quired to handle the "less than" condition. A second jump instruction 



082 


CMP 


X 


083 


JMP 


027 


084 


JMP 


144 


085 


RC2 


210 


086 


CAA 






88 ORIENTATION 

after the comparison is required when accumulator content is equal 
to x. The third case, when accumulator content is greater than x, can be 
handled as a continuation of the main stream of the program so that 
no jump is required. The compare and jump instructions are used in 
programs as follows: 

Compare contents of accumulator and location x. 
Content of accumulator < content of x, go to 027. 
Content of accumulator = content of x, go to 144. 
Content of accumulator > content of x, continue 
— main stream of program. 

The phrase "less than" makes sense with numerals but should be 
interpreted as "earlier than" for alphabetic and special characters. 
"Earlier than" is determined according to the values assigned by the 
computer designer to numerals, letters, and special symbols, such as 
those shown in the code table in Chapter 2. The ascending order in that 
table is through 9 followed by letters A through Z, with special char- 
acters fitted in at various places. That code table is assumed to be used 
here. Since code table values are used for sorting operations, it is also 
called "collation table." 

The instruction for comparison and a halt instruction required to 
stop operations at a desired point are defined as follows: 

Code Explanation 

CMP y x Compare content of accumulator with content of storage loca- 
tion x, indexable. Take next instruction, if content of accumu- 
lator < content of location (x + y). Take second following in- 
struction, if content of accumulator = content of (x + y). Take 
third following instruction, if content of accumulator > con- 
tent of (x + y). Content of accumulator is unchanged. 

HLT x Unconditional halt. Computer halts after this instruction with 

instruction counter set to address specified in x. If x is blank, 
instruction counter is set to 000. Other contents of computer 
remain unchanged. 

File Sequence Checking 

Use of the compare instruction will be illustrated by checking 
the sequence of a file of names that are supposed to be in order. The 
names below are a maximum of fourteen characters long, stored in two 
words with this format: last name, space, first name, space, middle 
name or initial, and spaces. 



BASIC COMPUTER PROGRAMMING 



89 



s 


1 


2 


3 


4 


5 


6 


7 


S 


1 


2 


3 


4 


5 


6 


7 


+ 


s 


M 


1 


T 


H 




J 


+ 


o 


H 


N 




P 






+ 


s 


M 


1 


T 


H 


E 




+ 


J 


A 


M 


E 


S 




C 


+ 


s 


M 


1 


T 


H 


F 


1 


+ 


E 


L 


D 




E 


D 





The program, written in segments or blocks to facilitate each 
part of the processing, is as follows: First, read in the file of names 
from a tape mounted on tape unit number 1. Second, write out on tape 
unit number 3 the names from storage locations 500 through 559 that 
are in order. Third, write out on tape unit number 2 the names from 
storage locations 400 through 459 that are not in order. 

Instructions are included to stop the computer when the last item 
in the file is handled. The word after the last name in the file contains 
7"Z's" as an end-of-file tag. When this word is reached in the input 
file, it is written on both write-out tapes. The tapes are rewound and 
can be used in further processing or removed for storing in the tape 
library. The program, when finished, will halt the computer's opera- 
tions. The organization of data and programs in high-speed storage is 
shown in Figure 3-6. 

The program for checking the sequence of names in a file stored 
on tape is shown as a flow diagram in Figure 3-7, and can be described 
as follows: 



Location 

290 

291 
292 



Content 

+0000000 

+0000060 

+ZZZZZZZ 



Constants to set indexes 
test for the end of file. 



Explanation 

test the cycle count, and 



298 +0000000 Initially contains 0; used for temporary storage of 

299 +0000000 each name found to be in order. 

The first series of program steps checks the first computer word of 
the name for end-of-file tag, then for sequence. New blocks of data are 
read in from tape number 1 as needed. Jumps to other parts of the 
program are made as required. The program starts in location 912, 
which is near the end of the block, in order to save an extra instruction. 



Location 

900 



901 



Content 

CAA A300 



CMP 292 



Explanation 
The first word of the name in location 300 is 
loaded into the accumulator in the first cycle, 
302 in the second cycle, and so forth. 

The first word of the name in the accumulator 
is compared to the end-of-file tag, ZZZZZZZ. 



90 ORIENTATION 

12 3 4 5 6 7 



59 



90 91 92 93 94 95 96 97 98 99 



000 



100 



200 



300 



400 



500 



600 



700 



800 



900 



Constants- 



290-2 

* 



298-9 



A 



300-359 Tape read-in 



Temporary storage 



Assemble names 
400-459 not in order 



Assemble names 
500-559 that are in order 



900-915- 



•920-930+ !«4- 940-4- 



-950-62-^ 



-970-9- 



■End-of-file routine 
and write-out. 



Store names that are in 
sequence. 

Program to check second word of name for 
sequence, if first word is the same as in the 
previous name. 



Program to store out-of-sequence names. 



Program to read tape 1 and check first word of name for 
sequence or for end-of-file tag. 



Figure 3-6. Organization of data and program in high-speed storagt 



BASIC COMPUTER PROGRAMMING 



91 



LOAD FIRST WORD 
OF NAME INTO 
ACCUMULATOR 



\ 



COMPARE NAME TO 
Z Z Z Z Z Z Z 



> 



PLACE "END OF FILE' 
AT END OF BOTH 
LISTS IN STORAGE 



>f COMPARE NAME ^£ 
V^WITH NAME N-l J 



COMPARE SECONDV- 
WORD OF NAME N 
WITH NAME N-l 



TRANSFER OUT- 

OF-SEQUENCE 

NAME TO TEMPORARY 

STORAGE 



HALT WITH 
INSTRUCTION 
COUNTER AT 
002 



WRITE LAST LISTS 
OF OUT-OF-SEQUENCE 
AND IN-SEQUENCE 
NAMES 



HALT WITH 
INSTRUCTION 
COUNTER AT 
912 



TRANSFER IN-SEOUENCE 
NAMES TO TEMPORARY 
STORAGE 



INCREASE INDEX 
B IN ORDER TO GET 
NEXT NAME 



HALT WITH 
INSTRUCTION 
COUNTER AT 
001 



/TEST THE NUMBER \ _ 

( OF OUT-OF-SEQUENCE J ► 

V NAMES J 













WRITE OUT 
BLOCK 




UPDATE NAME 
CHECKING AREA 






I 


\ 


' 




RESET 
B TO 


INDEX 
O 




INCREASE 
TO GET IS 


INDEX B 
EXT NAME 



INCREASE INDEX 
A BY Z 



<^ 



TEST WHETHER 
30 NAMES USED 



^ 



KTEST NUMBER OF \ = 

IN-SEQUENCE NAMES J — I 
IN BLOCK J 



START 



READ IN BLOCK 
OF 60 WORDS 



SET INDEX A 
TO 



WRITE OUT 
BLOCK 



Figure 3-7. Flow diagram of sequence checking for names 



92 ORIENTATION 

902 JMP 905 First word of name is earlier than end-of-file 

tag in collation table; jump to name comparison 
routine. 

903 JMP 970 First word of name = end-of-file tag indicates 

end of file, jump to end-of-file routine. 

904 HLT 002 Reaching this point indicates an inexplicable 

mistake, for it implies that word in name is 
greater than ZZZZZZZ. Setting the instruction 
counter to 002 before halt tells the operator 
the nature of the halt. 

905 CMP 298 Compare first word of name in the accumulator 

with prior first word of name which was placed 
in temporary storage. 

906 JMP 920 Current first word of name in the accumulator 

is less than prior first word in temporary storage 
and is out of order. Go to routine for out-of- 
order names. 

907 JMP 9^"0 Two first words of names are identical. Go to 

program to check second words of names. 

908 JMP 950 First word of current name is greater than first 

word of prior name which was in sequence, so 
that current name is in sequence. Go to routine 
for names that are in sequence. 

909 INC A002 When other sections of the program are com- 

pleted, the instruction counter is jumped to 909 
and index register A is increased by 2, which is 
the spacing of the first words of the names in 
input data. 

910 CIS A291 Compare index register A to 060 contained in 

storage location 291. 

911 JMP 900 If cycle not performed 30 times (if index A does 

not contain 060), go to 900 to start cycle for 
next name. If cycle is complete, go to location 
912. 

912 RT1 Read in a block of 60 words of data from tape 

913 BI1 300 on tape unit number 1 and store in locations 

300 to 359 inclusive. 

91^ SIS A290 Set index A with content of storage location 

290, which is 0. 

915 JMP 900 Go to location 900 to check next name in file. 



BASIC COMPUTER PROGRAMMING 93 

The following series of program steps stores names that are not in 
sequence and writes them on tape number 2. This segment of the pro- 
gram is reached because a name was found to be out of sequence when 
testing either the first or second word. Since the accumulator contents 
are different in each case, the first step is to put the first word of the 
name in the accumulator. The word being considered is indicated by 
the content of index A. Index B is used to keep track of the block of 
words that are out of sequence. 

The two words of the current name, which is 
out of sequence, are placed in the write-out 
block. 

Increase index B by 2 to get the spacing for the 
next two words to be put in the block. 

If the block of names out of sequence is not 
full, go to 909 to check another name. If the 
block is full, continue with instruction 927. 

Transfer block of 60 words to buffer number 2 
and write on tape. 

Reset index B to and go to 909 to check an- 
other name. 

The third series of program steps checks the second word of the 
name, if the first word matched the previous name which was in order. 
If both words are the same, the two names are identical and the pro- 
gram halts. In this case "001" is placed in the instruction counter so 
the operator will know the cause of the halt. The program could, if 
desired, be arranged to punch this name out on a card or write it out 
on a separate tape. 

940 CAA A3 01 The second word of the current name is placed 

in the accumulator. 

94 1 CMP 299 The second word of the current name is com- 

942 JMP 920 pared with the second word of the previous 
)) name which was in order. If the current name is 

-* -^ ahead of the prior name, the program jumps to 

the out-of-order routine. If both names are the 
same, the program halts and sets the instruc- 
tion counter at 001. If the current name is in se- 
quence, the program jumps to the in-order 
routine. 



920 


CAA 


A300 


921 


STA 


B400 


922 
923 


CAA 
STA 


A301 
B401 


924 


INC 


B002 


925 
926 


CIS 
JMP 


B291 
909 


927 
928 


B02 
WT2 


400 


929 
930 


SIS 
JMP 


B290 
909 



94 ORIENTATION 

The next series of program steps stores and writes the names that 
are in order. These steps are similar to those in locations 220 through 
230. The only difference is that the name in locations 298 and 299 is 
updated, so that the next comparison will be with the now-current 
name. (This is not done when the name is out of order. ) 

The two words of a name are written in the in- 
order block, and the checking locations in tem- 
porary storage are updated. 



Similar to instructions in addresses 924 through 
930. 



950 


CAA 


A300 


951 


STA 


C500 


952 


STA 


298 


953 


CAA 


A301 


954 


STA 


C501 


955 


STA 


299 


956 


INC 


C002 


957 


CIS 


C291 


958 


JMP 


909 


959 


B03 


500 


960 


WT3 





961 


SIS 


C290 


962 


JMP 


909 



The next, and final, group of instructions is the routine followed 
at the end of the file. The end-of-file tag is put on the end of the two 
write-out tapes, all tapes are rewound, and the computer stops. 

The end-of-file tag, which is already in the ac- 
cumulator, is placed at the end of both groups 
of output names. 

The last blocks (which may be incomplete) are 
written on the output tapes, and all tapes are 
rewound. 



970 


STA 


B400 


971 


STA 


C500 


972 


B02 


400 


973 


WT2 





974 


RW2 





975 


B03 


500 


976 


WT3 





977 


RW3 





978 


RW1 






979 HLT 912 The computer stops with instruction counter 

set to 912 and will continue operating from that 
point, if restarted. 

The halt order should always be used at the end of a program 
where it is possible for the instruction counter to continue. Other- 
wise, some stray word in the next storage location may be interpreted 
as an instruction. 



BASIC COMPUTER PROGRAMMING 



95 



Test Negative and Two-way Exit 

The comparison instruction involves the contents of the accumu- 
lator and a storage location; it results in a three-way branch for the 
<,=., and > conditions. A simpler instruction is the "jump if nega- 
tive,'' which involves only the sign of the accumulator and results in a 
two-way branch for the negative and non-negative conditions. De- 
signed primarily for use with arithmetical operations (to be described 
later), the jump-if-negative instruction is useful for determining the 
end of a file of positive items by attaching one more item with a ne- 
gative sign, such as: 



- 


E 


N 


D 


F 


1 


L 


E 



The word ' ENDFILE can be printed to assure that the end of 
the file was actually reached and that a negative sign within the data 
was not used incorrectly. In a numerical file containing both positive 
and negative signs, the alphabetic tag will follow numerical words in 
the sorting sequence. More important, the negative sign will cause the 
-ENDFILE tag to differ from alphabetic files that have a plus sign for 
each word. 

The jump-if-negative instruction is a conditional jump; it is exe- 
cuted if and only if the sign of the accumulator is negative when this 
instruction is reached in the program. 

Code Explanation 

JIN y x Jump, if content of accumulator is negative, to effective ad- 
dress of x plus content of index y (A, B, or C, or blank) for next 
instruction; otherwise, continue regular sequence of instruc- 
tions. Accumulator content is unchanged. 



SHIFTING 

Thus far in the discussion of programming, the instructions used 
have handled whole words without changing the individual charac- 
ters within a word. It is often desirable to shift the position of char- 
acters in a word to "unpack'' or separate two or more items that are 
stored in one computer word to save space. There are many cases in 
which an item of data is less than 7 characters long, so that unused 
character positions may be used to store other information. Packing 
two or more items into one word often saves time as well as space, be- 
cause fewer words need to be read into high-speed storage than if each 
short item occupies a word that is filled out with blanks. 

One method used to unpack data is called "shifting." Shifting 
involves the accumulator and another part of the arithmetic unit called 



96 



ORIENTATION 



the M-Q (for multiplier-quotient) register. Shifting does not involve the 
sign position, indicated by s, in either the accumulator or the M-Q. 
For purposes of shifting data, the M-Q register can be considered 
simply as a continuation of the right-hand end of the accumulator, 
as follows: 



Sign positions not affected 



Character positions involved 
in shifting 















Shifting 


Re 


gister 








s 




s 






1 


2 


3 


4 


5 


6 


7 


1 


2 


3 


4 


5 


6 


7 



Accumulator 



M-Q Register 



If a word in the accumulator is shifted 7 positions to the right, 
it will be completely in the M-Q register. If the word is then shifted 
7 positions to the left, it will be back in the accumulator. Any charac- 
ters shifted off either the left end of the accumulator or the right end 
of the M-Q are discarded, and there is no indication of discarded digits. 
The open positions originating in the left of the accumulator from a 
right shift are filled with zeros. Similarly, open positions originating 
at the right of the M-Q from a left shift are filled with zeros. Following 
are some examples of shifting alphabetic characters to isolate a de- 
sired item : 





Accunu 


ilato 


r 










M-Q Register 








Character 






s 




positions 


s 


12 3 4 5 6 7 


1 


2 3 4 5 6 7 


Original 
contents 


+ 


S 


M 


I 


T 


H 




J 


+ 
O 


H 


N 




p 






Shift right 
three posi- 
tions 


+ 











s 


M 


I 


T 


+ 
H 




J 


O 


H 


N 




Shift left 

eight 

positions 


+ 




J 


o 


H 


N 







+ 





















Shift right 
four posi- 
tions 


+ 
















J 


o 


+ 
H 


N 

















BASIC COMPUTER PROGRAMMING 97 

Instructions used in shifting words between the accumulator and 
M-Q registers and for loading and storing the M-Q are: 

Code Explanation 

SHL n Shift /eft the contents of combined accumulator and M-Q 

register n places where n is a number from 1 through 13, in- 
clusive. Sign positions of accumulator and M-Q are not af- 
fected. Any characters shifted off the left end of accumulator 
are lost. Spaces vacated on the right are filled with zeros, ("n" 
is written as a three-digit number on the right side of the in- 
struction word, for example: SHL 005.) 

SHR n S/iift right the contents of combined accumulator and M-Q 

register n places to the right where n is a number from 1 
through 13. Sign positions of the accumulator and M-Q are 
not affected. Any characters shifted off the right end of M-Q 
are lost. Spaces vacated on the left are filled with zeros. 

CAM y x Clear the contents of both accumulator and M-Q to zero and 
add to M-Q the content of location x, indexable. The sign of 
the accumulator is the same as the sign of the word in M-Q. 
Content of the storage location x, indexed, is not changed. 

STM y x Store the content of the M-Q register in location x, indexable. 
The content of the M-Q is not changed. Original content of 
storage location x, indexed by y, is lost. 

DATA READ-IN 

In the interests of a simplified discussion of programming, it has 
been assumed that a program was already in the computer when 
wanted. Actually, the first step in processing data with a computer 
is to get the program into storage, where it is available for processing 
by the computer. The first step in loading instructions and data into a 
computer is to get enough instructions into the computer by manual 
means so that those instructions can bring in as many more instruc- 
tions as desired. A few instructions are used to "bootstrap" in more 
instructions. 

General Scheme 

There are four stages in loading a program already punched in 
cards into the hypothetical computer discussed here. The steps, which 
are discussed more fully later, can be outlined as follows: 

1. Use the console to load the first card in the program load routine into 
high-speed storage. 

2. The first card bootstraps the second card into high-speed storage. 



98 ORIENTATION 

3. The load routine on the first two cards will read in an indefinite num- 
ber of program cards. 

4. The last program card makes a transfer to the start of the program 
which includes data read-in and execution of the program itself. 

The bootstrap load cards, the program cards (in skeleton), and 
transfer card for a program to be discussed later, are shown together 
in Figure 3-8. 



Transfer card— 




"'"'"^rffrf!!?™ 



JJ^J^J^njin^m^^^^^ 



Bootstrap 
load 
routine 
cards 



■mi i ii ii ii hi i i i 

i in m 

Ml HI' I >ll "111 ||IMI|l|l|IIIIO|IMIIII|l|lllltMIMMI HIM 

J I I ? ! ! 1 1 2 1 3 ! | } 1 1 if I 
3|1 3 3 5 3 3 3 3| 3 3 3 33 



III II 



5SS55JJS55S 



mmnm 

531)331)3)3 



S 5 S S S 5 ! i S S S S ! i '. 
I I I I I ( i I I i I I I ti 



II llll I III I I III I 

S S i ■ j ■ = J : S 5 ? S I 5 3 



«C1 11^+SISl 

II III III llll II I II I I II II 

II I I III I I 

liltl|IMIIII|l|:|l|l|l|[|:|i|[|eilll|l|lllil|tllllH|l|l|lll||ll||ll|l|lllll||l 

Kii^i;"ri77i?77?Ti???7TT7T7i"7ii77iMiT77TT?7i77T7|T777TT7?T?7TiTr|7rr7r|7ri 

2MI'!3|m!ll'!!2!|!|33!!3|!||3!2?!!3nj!22!!?!|3222!?!!!!|2!!!?!!|!!!?J2222/!22? 
33|1S33333|3B333)J!3!)|1J3JI33)!)|3!!33333333333333333333333333|3!|]3333313|33I) 

5 S SSS! ! S!SS SiSSSS ! 5 S S S Si SSS S5S5 5 5 5 5SS 55SS S5|SS5 S S 5 SSS SSi SS 5 S55 55 55 Si 5 S5 S 15|! 5 5 5 S 
lllllll llll III III till IK t SIIIIII II C ttt If if I (i t t|EliEI(ll I l( II II I II III I II I lit II tl 

I It I I I I I Ml I i II I I III I III I II I I II III I III llll I II I I I III II I II I l|ll I I III I I II I I II III III 




Figure 3-8. Bootstrap load, program, and transfer cards 

The program cards are discussed first because their format affects 
the bootstrap load routine. Each program card (which has only the 
- and + signs to indicate the location of instruction words ) will have 
from two to ten words on it. The first word on each card, which might 
be called the '"word-count and location," indicates the number of 
words to be stored and where they are to be stored. The word-count 
and location word on each program card, which is used solely for stor- 
ing the other words and is only temporarily stored, has the following 

format: 

s 1 2 3 4 5 6 7 



w 



The word-count "w" indicates the number of words on the card 
that are to be stored; this number ranges from 1 through 9, depending 



BASIC COMPUTER PROGRAMMING 99 

on whether the card is partially or completely filled with instruction 
words. The location part of the first word, xxx, indicates where the 
second word on the card (which is the first program word on that card) 
should be stored. Other words are stored in sequence. 

The last card to be loaded, called a "transfer card," has only one 
word with the following format: 



s 


1 


2 


3 


4 


5 


6 


7 


+ 


J 


M 


P 




X 


X 


X 



A plus sign, instead of a minus as on the other program cards, 
distinguishes the transfer card from them so that it is executed as an 
instruction instead of merely directing other words into storage. Exe- 
cution of the JMP xxx instruction transfers control to xxx where the 
main program starts. 

Bootstrap Load Routine 

The load routine makes use of the fact that one card can be read 
into the computer by means of control switches on the console. The 
console switches are set to read the first card into the locations specified 
in the first card, say 019 through 028 in this case, and then to jump 
to get the next instruction from location 019. The. instruction in loca- 
tion 019 causes the computer to read one more card which contains the 
rest of the bootstrap load routine. A load routine of 16 words punched 
into two cards can read in an indefinite number of other program or 
data cards and can start execution of the program. Loading a program 
and starting its execution is similar to a chain reaction. If everything 
is ready, then a small event can trigger the whole operation. 

The load routine, punched into the first two cards illustrated in 
Figure 3-8, is listed under "card content" below, with the location 
and explanation added for clarity: 

Location Card Content Explanation 

Assume that the console switches were used to read 
the first card in the reader into ten locations start- 
ing at 019. The console transfers control to the first 
instruction and continues the load routine. 

019 +RC1 029 Read the second card in the load routine into loca- 

tions 029 through 038. The instruction in 019 will 
not be needed again and will be destroyed when 
the main program cards are read into locations 010 
through 019. 

020 +RC1 010 Read a main program card into locations 010 

through 019 for temporary storage while examining 



100 



ORIENTATION 



the first word to determine 
other words. 



hat to do with the 



021 +SIS A030 Set index register A with the three right-hand digits 

of location 030 which are 000. The 000 is taken 
from another instruction word to avoid using a 
separate word as a constant. 

022 +SIS B010 Set index B with the right-hand three digits of the 

first word of a card — the word location digits. 

023 + CAA 010 Clear accumulator and add the first word from a 

card in order to get its sign. 

024 -hJIN 026 If sign of accumulator is negative, the accumulator 

contains a count and location word for the other 
words on the card. 

025 H - JMP 010 If sign of accumulator is positive, then the word in 

location 010 is the transfer word to the first pro- 
gram instruction to be executed. Two jumps are 
made, one to location 010 and a second to the loca- 
tion specified there. 

026 +3HR 003 The word-count and location word wxxx loaded in 

accumulator by the CAA 010 operation above is 
shifted right three places to put the w in the right- 
hand position. The location digits were set in index 
B by the SIS B010 operation above and need not 
be retained in storage location 010 any longer. 
They are discarded by the shift operation. 

+ STA 010 The word-count w which was shifted to the num- 
ber 7 (right-hand) position in the accumulator by 
the SHR 003 operation is stored in the right-hand 
position of the word-count, as follows: -OOOOOOw. 

+ INC A001 Increase index register A by 1 to count the words 
handled from the program card being stored. 

+ CAA A010 Clear accumulator and add the word in the effec- 
tive address (contents of location 010 and index 
register) 011 on first loop, 012 on second, and to 
019 on ninth loop, if there are 9 words to be stored 
from the card, when the cycle is completed. 

030 +STA B000 Store the accumulator content in the effective ad- 

dress of 000 plus the content of index register B 
which was set in operation 022 with the desired lo- 
cation for the first word to be stored. 

031 +INC B001 Increase index register B by 1 to load program 



027 

028 
029 



BASIC COMPUTER PROGRAMMING 101 

words into consecutive storage locations when re- 
peating loop. 

032 -hCIS A010 Compare the words-stored count in index register 

A with the number of words to be stored, which is 
in location 010. 

033 +JMP 028 Contents of index register A and location 010 are 

not equal; therefore, return to location 028 to re- 
peat loop for storing a word. 

034 +JMP 020 Contents of index register A and location 010 are 

equal; therefore, go to location 020 to read the 
next card. 

Use of the load routine illustrated above precludes storing any 
part of the main program in locations 010 through 034, except for 
the temporary storage of each card in locations 010 through 019 while 
it is being transferred to desired locations. Anything else stored in loca- 
tions 010 through 034 will either destroy the load routine or be de- 
stroyed when the next card is read. Another similar load routine can 
be stored somewhere else, if these locations are required for the main 
program. As soon as the main program is read in, the space occupied 
by the load routine can be used for other purposes. The point is that 
storage must be allocated among load routine, main program, and data 
so that they do not interfere with each other. 

Locations 000 to 009 were not used in the load routine because 
they are often reserved for jump instructions to start the program run- 
ning again after a halt occurs. Certain halt instructions (HLT x) 
throughout the program may specify a storage location from 000 to 009 
for setting the instruction counter when the computer halts. AJMP x 
instruction stored in that location transfers control to an error-correc- 
tion routine, when the computer is restarted. Used in this way, the 
jump instruction serves to connect the program halt and the error- 
correction routine with a temporary stop, at location 003, for instance. 
The fact that the program arrives at location 003 gives some indication 
of the nature of the halt that was encountered. 

PACKING AND UNPACKING DATA 

The load routine given above contained a simple example of un- 
packing two words stored in one word. The first word on each card in 
the main program contained the word-count w and location word xxx. 
Unpacking for separate use was simple. The xxx was loaded in an index 
register. By shifting the original word three positions to the right, the 
word-count w was obtained in position 7 so that it could be used as a 
criterion for cycle counting. 



102 



ORIENTATION 



Packing several items into one word to economize data read-in 
time and storage space is done often enough that the related procedures 
for unpacking the items for separate processing deserve treatment 
here. A water utility uses a word with the following format for meter 
readings: 



s 


1 


2 


3 


4 


5 


6 


7 


± 


r 


c 


c 


c 


m 


m 


m 




^— Meter reading 
Customer account number 
Reading cycle number: 1, 2, 3, 4 
Class of customer: residential +; commercial - 

Only one word of new input, along with the master file record, is 
required to compute a bill for a customer. The meter-reading cards 
punched with the data shown are sorted into sequence by cycle and 
customer account number on digits 1 to 4 before being read into the 
computer. After read-in, the sequence is checked by the program using 
the whole word to avoid the trouble of extracting the reading cycle 
and account number from the whole word, including meter reading. 
Since the computer compares the word as a whole from left to right, 
the meter reading in the low-order position is, in effect, ignored. The 
+ in sign position indicates residential customer and the -, commercial 
customer. 

Residential customer meter readings are as stated (for example, 
038 equals 38 cu. ft. ), but commercial customer readings are in hun- 
dreds of cubic feet (for example, 167 equals 16,700 cu. ft.). The two 
classes are interspersed in the master file because it is organized in the 
same sequence as meter readers follow on their routes. 

The program for processing meter readings is designed to operate 
with the items unpacked and placed in storage as follows: 

Location Content 

060 Meter-reading cycle number in character position 7 preceded by at 
least two zeros to avoid interference with indexing; but the sign is 
immaterial here. 

061 Customer account number in positions 5 through 7 and correct 
sign for word; but content of the rest of word is immaterial. 

062 Meter reading, in actual cubic feet, in positions 5 through 7 for 
residential and 3 through 7 for commercial customers; other posi- 
tions must be zero and sign plus. 



BASIC COMPUTER PROGRAMMING 



103 



Index register A will be used to keep traek of the location of the 
meter-reading word to be unpacked next. The program is to be written 
in appropriate form for loading, which means that the first word on 
each card contains the word-count and location assigned to the second 
word. Unpacking instructions are stored in locations 670 through 682 
and include a jump to another routine starting at location 600 to com- 
pute the bill after unpacking is complete. The unpacking routine 
punched into cards is listed in the third column: 



Store in 
Location 

Tempo- 
rary 
only 

670 



671 

672 

673 
674 

675 
676 
677 



Card and Word 
Number Content 

1-1 -0009670 



1-5 
1-6 



Explanation 

Word count 9 and location 670 for stor- 
ing second word on first card. 



1-2 + CAM 670 Clear M-Q register and add something 
to get a plus sign. This instruction adds 
itself, which method is as suitable as any 
other. 



1-3 + CAA A000 



1-4 +SHR 006 



+ STA 
+ SHL 



060 
003 



Clear accumulator and add a meter- 
reading word. Index A is assumed to in- 
dicate its location. Accumulator gets the 
sign of the word added. 

Shift accumulator and M-Q contents 
right 6 positions so that reading cycle 
number is in position 7 of accumulator. 

Store reading cycle number. 

Shift accumulator and M-Q contents so 
that customer account number occupies 
positions 5 through 7 in accumulator. 



1-7 + STA 06l Store customer account number in 061. 



1-8 + SHL 
1-9 +SHR 



007 Shift left 7 places to discard all digits 
except meter reading and shift right 11 



011 



places to get into positions 5 through 7 
of M-Q. 



678 



Tempo 

rary 

only 



1-10 +JIN 68l If accumulator is negative, indicating 
commercial customer, jump to shift in- 
struction. 

-0004679 Word-count 4 and location 679 for stor- 
ing second word on second card. 



2-1 



104 


ORIENTATION 




679 


2-2 


+ STM 


062 


680 


2-3 


+ JMP 


600 


681 


2-4 


+ SHL 


002 



Reaching this point indicates residential 
customer; store cubic feet in 062. 

Exit from the unpacking routine to loca- 
tion 600 to start bill computation. 

Reaching this point indicates commer- 
cial customer; shift M-Q content left 2 
positions to multiply meter reading by 
100. 

682 2-5 + JMP 679 J um P to instruction to store content of 

M-Q. 

The 13 instructions given above (the word-count and location 
words are not instructions) are required to unpack each meter-reading 
card and set up the quantity for bill calculation. It is useful to trace 
the contents of the "shifting register" throughout the routine to deal 
with a meter reading of -1352964 previously read into storage. 

Contents of "Shifting Register" 
Location Operation Accumulator M-Q 



1234567S1234567 
+ C A N 
670 + CAM 670 +000 
+ CAA A000 - 1 3 5 
+ SHR 006 - 
+ STA 060 - 
+ SHL 003 - 
+ STA 061 - 
+ SHL 007 - 9 6 4 
+ SHR 011 - 
+ JIN 68l n -- 









->679 + STM 062 

+ JMP 600 

L >68l -f SHL 002 



+ JMP 679n -000 



B 


E 


A 


N 


+ 


Y 


T 


H 


I 


N 


G 


X 














+ 


C 


A 


M 


- 


6 


7 





2 


9 


6 


4 


+ 


C 


A 


M 


- 


6 


7 














1 


+ 


3 


5 


2 


9 


6 


4 


c 











1 


+ 


3 


5 


2 


9 


6 


4 


c 


1 


3 


5 


2 


+ 


9 


6 


4 


C 











1 


3 


5 


2 


+ 


9 


6 


4 


C 











c 











+ 



































+ 














9 


6 


4 














+ 














9 


6 


4 














+ 








9 


6 


4 




















+ 








9 


6 


4 




















+ 








9 


6 


4 




















+ 








9 


6 


4 









Only three locations, 670, 679, and 681, are identified above be- 
cause the others are immaterial. Note that the operation in location 
679 is reached after the left shift of 2 positions (in location 681) for 
commercial customers, but this shift is omitted for residential custom- 
ers. The bootstrap load routine, unpacking routine (calculation rou- 
tine omitted), and transfer cards are in Figure 3-9. 



BASIC COMPUTER PROGRAMMING 



105 



Transfer card 



Utility bill 

unpacking 

routine 




II III I 

•••••■••••MI|l|l|l|i|l|l|l|l|l|IMII|l|IMII|lllllll|||||IM||ll||tl 

• nil . ii . 1 1 ■ 1 1 ■ i . u"i"n nn"imii"i""r"n mi"" 77ir""7TT n""""|T 

2}2>22|22222>2222|2|22222|2||2 2 2 22222222222222|22222?2227|2222222|222 
33|)3S33J3|333SS333IS3|3333333333|3333S333333333333333333333333|33|33 

5555SS55555555!555555SJS555!S55555555555555|5S5S5555S5S555555S5555555 
llllltiltlllilllllltlllllllllll iKHIIllSIICIItlllStfilltttlltlllllll 

I I 1 ? ? 7 I 17 > 1 1 II I M ? I » 7 1 7 7 7 7 7 7 7 7 7 7 3 7 J .7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 1 7 J 7 7 7 J 7 7 7 I 7 > 7 J / 1 7 
888S8SISI88I8888I8IIIIIIII8IIIII8I8IIIIIIIIIIIII8IIIIIIIBI|IIBII8I888 

?! ?????! ?l 99 ?,!,! ',',!!!, ''l'"l'JJ?|J3! s , '2". * 9 I 9999 ' 899, "" ,89,99! " 99999 



117771 12717 
33333313333 



55555(55 555 

liiliistl s« 



818888881(1 
9 9 9 9 i a 9 9 S 9 9 



Figure 3-9. Bootstrap load, utility hill unpacking routine, 
and transfer card 



ARITHMETICAL OPERATIONS 

The computer instructions discussed thus far have been limited to 
input and output, and the instructions to index, compare, shift, jump, 
store, clear and add, compare, and halt. These types of operations 
constitute a large part of the business-data-processing routines which 
move data about without changing them. 

The arithmetical operations of adding, subtracting, multiplying, 
and dividing are required to calculate bills, inventories, sales forecasts, 
and production schedules. Arithmetical operations will be explained 
briefly here and their use in a program illustrated. 

Addition and Subtraction 

Addition and subtraction operations are designed into the hypo- 
thetical computer as follows: 

Code Explanation 

ADD y x Add content of storage location x, indexable, to content of accu- 
mulator. Accumulator contains new sum but storage location is 
unchanged. 

SUB y x Subtract content of storage location x, indexable, from content 
of accumulator. Accumulator contains remainder. 



106 ORIENTATION 

Addition of a series of numbers is started with a CAA y x 
order to clear accumulator and add the first number, followed by an 
ADD y x order for each succeeding number, and, finally, an STA y x 
order to store the total. 

Operations involved in subtracting a series of numbers are essen- 
tially the same as for addition except that the accumulator may contain 
a starting number or be set to zero by an initial CAA y x order. An 
SUB y x order is used for each number to be subtracted. The repeti- 
tive orders of ADD y x and SUB y x can, of course, be indexed for 
use as many times as desired even though written only once in the pro- 
gram. 

Assume the following numbers are in storage locations identified 
as W, X, Y, andZ: 

w = +0003472 
x = +0012350 

Y = -0000013 

z = -oooo48o 

The rules of algebraic addition and subtraction can be illustrated 
as follows, ignoring insignificant zeros: 



CAA 


W 


+ 


3472 


CAA 


W 


+ 


3472 


ADD 


X 


+ 


12350 


SUB 


X 


+ 


12350 






+ 


15822 






- 


8878 


CAA 


W 


+ 


3472 


CAA 


w 


+ 


3472 


ADD 


Y 


- 


13 


SUB 


Y 


- 


13 






+ 


3459 






+ 


3485 


CAA 


Z 


- 


480 


CAA 


z 


- 


480 


ADD 


w 


+ 


3472 


SUB 


w 


+ 


3472 






+ 


2992 






- 


3952 


CAA 


Y 


- 


13 


CAA 


Y 


- 


13 


ADD 


Z 


- 


480 


SUB 


Z 


- 


480 






- 


493 






+ 


467 



A program to add and subtract numbers that are stored on mag- 
netic tape will illustrate how the addition and subtraction instructions 
are used. Numbers to be added are read from tape unit 1 into storage 
locations 100 through 159. Numbers to be subtracted are read from 
tape unit 2 into storage locations 200 through 259. One number will 
be added and one subtracted until 6 blocks of each are used. The one- 
word answer will be punched in a card in card unit number 2. 

The program punched in cards ready for loading is as follows, 
with "location" listed for reference purposes only: 



BASIC COMPUTER PROGRAMMING 



107 



ard (Location) 


Word 


1 019 

to 

028 




2 029 

to 

034 




3 


- 0004550 


550 

551 
552 

553 


+ 0000000 
+ 0000060 
+ 0000006 
+ 0000009 


4 


- 0009600 


600 


+ CAA 550 


601 


+ SIS B550 


602 


+ sis A550 


603 
604 


+ RT1 --- 
+ BI1 100 


605 
606 


+ RT2 

+ BI2 200 


607 
608 


+ ADD A 100 
+ SUB A200 


5 


- 0009609 


609 
610 
611 


+ INC A001 

+ CIS A551 
+ JMP 607 


612 

613 
614 


+ INC B001 
4- CIS B552 
+ JMP 602 


615 


+ STA 400 


616 
617 


+ SIS A550 
+ CAA 550 


6 


+ 0006618 


618 
619 
620 
621 


+ STA A401 
+ INC A001 
+ CIS A553 
+ JMP 6l8 



Explanation 

Bootstrap load routine, which is identical 
to the one shown earlier, is punched in 
two cards and read into storage locations 
019 through 034. 



Word-count and location word. 

Constants. Word in block criterion. 

Block count criterion. 

Zero fill-in. 

Word-count and location word. 

Clear accumulator to plus zero. 

Set index B to zero and use to count num- 
ber of blocks read. 

Set index A to zero and use to keep track 
of data word in blocks. 

Read a block from tape 1 and store at 
locations 100 through 159. 

Read a block from tape 2 and store at lo- 
cations 200 through 259. 

Add contents of location 100, indexed. 
Subtract contents of location 200, in- 
dexed. 

Word-count and location word. 

Increase index A by 1. If not 60, return to 
location 607 to add next number. If 60, go 
to location 612. 

Increase index B by 1. If not 6, return to 
location 602 to read in next block. If 6, 
go to location 615. 

Store answer in location 400. 

Set index A to zero and clear accumulator 
to plus zero. 

Word-count and location word. 

Store zeros in locations 401 through 409 
so that a card punched with contents of 
locations 400 through 409 will contain 
the answer and 9 words of zeros. 



ORIENTATION 




622 


+ PC2 


400 


623 


+ HLT 





010 


+ JMP 


600 



108 

Punch 10 words in card: answer in word 
1 and zeros in words 2 through 10. 

Transfer card read into locations 010 
through 019 and executed to start pro- 
gram at location 600. 

Instructions Used in Program 

The program to read in, add, and subtract six blocks of 60 num- 
bers each and to punch the one-word net answer in a card has 45 in- 
structions; these instructions can be roughly classified as follows to 
show how many times they are used in executing the program. 





Number 






Number 


Output 






of Instruc- 




Tape 


Manipu- 


Prepara- 


Card 




tions 


Set-up 


Read-in 


lation 


tion 


Output 


Program load 














routine 


16 


202 










Constants 


4 


4 










Data input 


4 




4 








Indexing 














Set 


3 


3 










Increase 


3 




1 


1 


1 




Compare 


3 




1 


1 


1 




Jump 


4 


1 


1 


1 


1 




Arithmetic 














Clear and add 


2 


1 








1 


Add 


1 






1 






Subtract 


1 






1 






Store accumula- 














tor 


2 








1 


1 


Punch a card 


1 










1 


Halt 


1 










1 


Number of in- 












structions 


45 


211 


7 


5 


4 


4 


Number of times 














performed to 














handle 6 














blocks of 60 














numbers each 




1 


6 


360 


9 


1 


Effective use of 














instructions 




211 


42 


1800 


36 


4 


Effective total 












2683 



BASIC COMPUTER PROGRAMMING 



109 



While the add and the subtract operations appear only once in 
the program to add 360 numbers, each is used 360 times. If the time 
required to perform each instruction is known, the total running time 
for the program can be calculated. Machine speeds and program run- 
ning time are discussed in Chapters 7 and 8. 

Overflow 

Continued addition or subtraction of numbers may result in an 
answer containing too many digits to be put into storage locations 
that can hold only 7 digits. For example, adding +6,000,000 and 
+7,000,000 gives an eight-digit total of +13,000,000 in the accumu- 
lator, which is called an "overflow" condition. 

Since the overflow may occur without the programmer's realizing 
it, the computer designer may extend the accumulator by one position 
to indicate the occurrence of overflow. One bit is enough to indicate 
overflow in a yes-no fashion. Whenever the possibility of overflow is 
likely to occur, the programmer should test for overflow and, if it has 
occurred, go to a correction routine before repeating the operations that 
caused overflow. The computer will halt automatically and a console 
light will indicate overflow if an instruction causing overflow is not 
followed immediately by the test "jump on overflow." 

A schematic diagram of the accumulator including an overflow 
bit is: 

s Ov 1 2 3 4 5 6 7 



Contents 



+ 

or 



or 
1 




















< > 



Any numeral or letter 



The overflow position (Ov) contains the binary number 1 when- 
ever overflow occurs; otherwise, it contains 0. The overflow bit is avail- 
able only for testing and is not affected by shifting or other non-arith- 
metical operations. The overflow position is available to the machine 
for a decimal digit when doing multiplication and division, but this 
does not concern the programmer. Overflow testing is done by the 
jump-on-overflow instruction defined as follows: 

Code Explanation 

JOV x Jump on overflow, if one occurs, to take next instruction from 

storage location x. Continue regular sequence of operations, if 
no overflow. 



Occurrence of overflow in the main program and correction by 
means of a subroutine illustrates the nature of the problem. The main 
program is in locations 1 to 99, some numbers being added are in 100 



no 



ORIENTATION 



and 101 (location 100 contains +9 
and the correction routine is in 936 to 



000,000 and 101 
944. 



+8,000,000), 



Location and 
Content 

023 + CAA 

024 + ADD 

025 + J0V 

936 + CAA 

937 + SHR 

938 + STA 

939 + CAA 

940 + SHR 

941 + STA 

942+ CAA 
943 + STA 



Accumulator 

s OV 1234567 



100 

101 

936 

100 
001 
100 

101 
001 
101 + 



9000000 

1 NONSENSE 



9000000 
0900000 
0900000 

8000000 

0800000 
0800000 



000 + 0000001 
945 + 0000001 



944+JMP 023 + 0000001 

945+ 0000000 



Explanation 

Addition of two numbers causes 
overflow and jump-to-correction 
routine. 

Shift first number one position 
right and store in original lo- 
cation. 

Shift second number one posi- 
tion to right and store. 

Get an overflow indicator of 1 
from storage location 000 and 
store in location 945. 

Return to main program to re- 
peat addition operation. 

Initially zero; use to store over- 
flow indicator, or 1. 



After the overflow correction and return (JMP 023) to the main 
program, the instructions in locations 023 and following are repeated 
and overflow will not occur. The overflow condition indicator of 1 in 
location 945 is used for locating the decimal point in the answer. 

Multiplication 

The multiplication operation is interesting because the product 
of two seven-digit numbers is thirteen or fourteen digits, although 
many of the left-hand digits may be zero. Consider two examples of 
multiplication, using, for brevity, only four-digit numbers. 



Multiplicand 


6789 








0021 


Multiplier 


x 2345 

33945 
27156 
20367 








0003 

0063 
0000 
0000 




13578 


= 8 


di! 


nts 


0000 


Product 


15920205 = 


0000063 



7 digits 

Since the number of digits in the product is equal to the sum (or 
the sum minus one) of the number of digits in both operands, the accu- 
mulator and M-Q registers are used together for multiplication in much 



BASIC COMPUTER PROGRAMMING 1 1 1 

the same way that they were used in the shifting operations described 
earlier. The operations in multiplication are: 

1. Clear accumulator and M-Q registers and place the multiplier in the 
M-Q register by the CAM y x instruction. 

2. The multiplicand is obtained from a specified storage location by the 
MLT y x instruction. 

3. Store the product (which is in the M-Q register only if the product 
is 7 digits or less but extends into the accumulator if more than 7 
digits) by means of STM y x and STA y x orders. 

The multiplication order is defined as follows: 
Code Explanation 

MLT y x Mu//iply content of location x, indexable, by the content of the 
M-Q. Product low-order digits are at the right in M-Q register 
and high-order digits at the left in accumulator, if more than 7 
digits. Storage location content is unchanged. 

Algebraic rules are followed in multiplication: 

( + )x ( + ) = ( + ), (-)x ( + ) = (-), ( + )x (-) = (-), (-)x (-) = ( + ) 

A simple example of multiplication is to multiply the quantity 
of an item by its price to find its value. Quantity, 1547 units, is in stor- 
age location 100 and price, $2.3613 each, in 101. 

Location and Accumulator M-Q 

Content s OV 1234567 s 1234 567 Explanation 

600 + CAM 100 + 0000000 +0001547 Load multiplier. 

601 + MLT 101 + 0000003 + 65293 ll Multiply. 

602 + SHL 003 + 3652 +93HOOO Separate the dollars. 

603 +STA 102 + 3652 +93HOOO Store dollar answer. 

Responsibility for keeping track of the decimal point in the prod- 
uct 36529311 rests with the programmer. A left shift of 3 positions 
puts the product in whole dollars in the accumulator. A right shift of 
4 places would arrange it in the M-Q register. The dollar product can 
be stored from the appropriate register. The answer $ .9311 in the 
M-Q register, as illustrated above, is discarded so that the dollar prod- 
uct stored, $3652, should be $3653, if rounded. 

In order to round the amount 36529311 to the nearest dollar the 
operation in location 602 should be SHL 004 to put 36529 in accu- 
mulator followed by the addition of 5 in the seventh position to get 
36534. SHR 001 leaves 3653, which is the correctly rounded product, 
in the accumulator where it can be stored. M-Q contents are, as be- 
fore, discarded. Some computers have a multiply-round instruction 
which gives a correctly rounded product after multiplication. 



112 ORIENTATION 

Division 

The fourth arithmetical instruction is to divide. Steps involved 
in the division operation are: 

1. Clear the accumulator and M-Q registers by a CAM y x instruction 
where location x contains + zero. 

2. Place the dividend in the accumulator by a CAA y x instruction. 

3. Divide the dividend by a divisor by use of the DIV y x instruction. 
The quotient is formed in the M-Q register with the correct algebraic 
sign, following rules similar to those for multiplication. The remain- 
der, with the sign of the dividend, is left in the accumulator. 

4. The quotient can be stored by STM y x and the remainder, if 
wanted, by STA y x. 

The division instruction is defined as follows: 

Code Explanation 

DIV y x Divide the dividend in accumulator by divisor in location x, 
indexable. Quotient is formed in M-Q register and remainder is 
left in accumulator. Content of original location unchanged. 

A special rule is involved for the division operation. The divisor 
"as stored" (without regard for sign and decimal point) must be larger 
than the dividend to avoid stopping the machine in a "divide halt" 
condition. For example, an attempt to divide +0000080 by +0000040 
will stop the computer. Shifting the dividend one place to the right 
before starting division to get +0000008 in the accumulator makes 
the divisor as stored +0000040 larger than the dividend. Having the 
divisor "as stored" larger than the dividend is a relative matter, so that 
the dividend can be shifted right or the divisor shifted left as is more 
convenient, apart from the problem of losing significant digits. Right- 
hand digits of the dividend shift out of the accumulator into the M-Q 
register so that they are not lost. 

The division operation is performed automatically by shifting the 
accumulator content (and also M-Q content, although it may contain 
zero) one position to the left, subtracting the divisor as many times 
as possible, and storing the count in the right-hand position of the 
M-Q. In this case +0000040 can be subtracted from +0000080 two 
times, so 2 is stored in the right end of the M-Q. The accumulator 
and M-Q contents are again shifted left and the subtraction operation 
attempted six more times. The M-Q contains +2000000 at the end of 
the division operation. Where the dividend and divisor are both whole 
numbers with decimal points at the right, decimal point correction for 
machine shifting is required only during the division operation. In 
dividing +0000080 by +0000040, decimal point location requires a 
right shift of 7 positions (which is the number of positions formed in 



BASIC COMPUTER PROGRAMMING 113 

the quotient) minus the number of right-hand shifts originally made 
in the dividend (1 in this case) to avoid a divide-halt condition. A right 
shift of 6 for the M-Q content of +2000000 gives a quotient of 
+0000002 for 80- 40. 

The programmer is responsible for anticipating the relative sizes 
of the dividend and divisor and for making adjustments to avoid a 
divide-halt condition during division. After the quotient has been 
obtained in the M-Q register, it can be stored by an STM y x instruc- 
tion. The remainder, which is in the accumulator, can be stored by an 
STA y x instruction. 

SPECIAL OPERATIONS 

Two kinds of special operations are of interest here. One type 
involves the ability to address selected elements of the computer in 
performing instructions. The other type involves arithmetical opera- 
tions on alphabetic data. 

Special Addresses 

In many of the instructions described in this chapter the accumu- 
lator or M-Q registers were explicitly named, for example, CAA y x 
or STM y x. In other instructions the use of these registers was im- 
plicit, for example, the SHR n and ADD y x. 

It is sometimes useful to be able to address directly the accumula- 
tor, M-Q register, and console switches. Since all the possible three- 
digit numbers 000 through 999 are used for addresses of storage loca- 
tions, letters are used in the hypothetical computer: 

ACC Accumulator 
MQR M-Q register 
CNS Console switches 

The computer operator can use the computer console switches to 
introduce data by manually setting the switches. The internal units 
can "read" these data but cannot physically change the position of 
the switches and, therefore, cannot store data in them. Instructions 
such as STA yCNS and STM yCNS are not valid instructions to store 
data. 

On the other hand, an index register may be set with the content 
of any of these three special addresses. Instructions such as SIS ACNS 
and CIS BMQR are perfectly valid, for data are merely being read 
from the M-Q register. 

Interesting arithmetical operations can be performed between the 
accumulator and M-Q register by instructions such as these: 



114 ORIENTATION 

ADD MQR Add contents of M-Q register to accumulator. 

SUB MQR Subtract contents of M-Q register from accumulator. 

CMP MQR Compare contents of M-Q register with accumulator 
and take three-way branch on outcome: MQR < ACC, 
MQR = ACC, and MQR > ACC. 

On the other hand, there are limitations on the use of these special 
addresses. The address "ACC" cannot be used in an operation involv- 
ing the accumulator, for that would involve trying to address the accu- 
mulator while it is being used. The address "MQR" is similarly re- 
stricted for operations involving the M-Q register. None of these ad- 
dresses may be referred to as the location of an instruction — JMP ACC, 
for example — because there is no way to find the address of the next 
instruction. Input and output operations are restricted to addressing 
high-speed storage. These addresses cannot be put in an index, nor can 
an instruction such as CAA ACNS be used because the content of 
index A would be irrelevant. 

Arithmetic and the Alphabet 

Performance of arithmetical operations on alphabetic data is use- 
ful for modifying instructions by changing addresses of storage loca- 
tions or numbers that refer to tape or card units. Special rules apply to 
arithmetical operations on words containing non-numerals. The addi- 
tion of two letters — A + B, for example — is possible in some computers 
and may be useful in isolated cases, but it does not have a generally ac- 
cepted meaning. Multiplication or division of words containing non- 
numerals is usually meaningless. 

Addition or subtraction of words containing non-numerals is not 
possible and will stop the hypothetical computer. On the other hand, 
numerical words may be added to or subtracted from the numerical 
parts of alphanumerical words; but carries to and borrows from non- 
numerals are lost. Some examples are: 

+ ABZ3583 + CAA I67 + CAA 160 + B12 160 
+ 2126814 +0000001 +0001900 +0010000 
+ ABZ0397 +CAA 168 +CAA 060 +B13 160 

Three of these examples show how an instruction can be modified 
by arithmetical operations. CAA 167 increased to CAA 168 and 
stored back in the original location will cause the program to get a new 
data word in the next loop. This scheme for modifying instructions is 
comparable to indexing and is used for computers that do not have 
index registers. 



BASIC COMPUTER PROGRAMMING 115 

The character "blank" is non-numerical so that it overrides zeros 
in addition. This property makes it possible to use a word containing 
blanks and zeros as a mask for extracting characters that are wanted 
and discarding others. For example, the format of the water utility 
meter-reading card described earlier in this chapter was (s)rcccmmm. 
The customer number "c" was unpacked by shifting first one direc- 
tion and then the other to discard unwanted digits. An easier method 
to isolate the customer number is this: 

CAA Masking word bOOObbb (where "b" indicates blank) 

ADD Meter-reading 

word (s Ircccmmm 

Sum (s)bcccbbb 

Data words to be operated on arithmetically in the computer 
should have a zero or some other digit in every character position. 
The word +0000001 is valid for arithmetical operations; but the word 
of blanks and numerals, " + 1," is not valid. 



SUMMARY 

The fundamental point about internally stored program computers 
is that data and the program are stored in exactly the same fashion. 
Whether computer contents are used as data or as instruction is a 
matter of choice for the programmer. Usually each type is used in the 
way originally intended, but instructions are treated as data in order 
to modify them before using them again. When programs go awry, 
data may be mistakenly "executed" as instructions and give nonsen- 
sical results. 

The precise instruction format devised by engineers must, of 
course, be adhered to by programmers. The format specifies the use 
of each character position for operation code, index register, and ad- 
dress or special constant. 

A program to read the data from one deck of cards or a tape and 
punch another deck of cards or write on tape is trivially simple; but it 
shows the need for address modification to make cycles efficient and cut 
the number of program steps. Index registers are special counters that 
can be set, increased or decreased with desired constants, and tested 
to determine their content during each loop in a cycle. Content of 
an indexed register is used in conjunction with indexable instructions 
to execute operations on "effective" addresses instead of the originally 
specified addresses. The indexing scheme is invaluable for performing 
repetitive operations on data that are stored in some organized fashion. 



116 ORIENTATION 

Comparison orders are at the heart of the decision-making process. 
Various comparisons are made to determine, for example, whether an 
inventory balance is larger or smaller than the re-order point, whether 
one item belongs ahead of another when sorting, and whether a data 
processing loop has been performed the desired number of times. 

Jump orders are used following comparison instructions to transfer 
to that part of the program which will perform the routine appropriate 
for each condition tested. 

Shifting operations are used to line up characters before compari- 
son or addition operations and to isolate desired characters. 

Instructions for addition, subtraction, multiplication, and division 
are usually included to perform arithmetical operations, although 
some computer designers omit the divide operation for economy in 
view of its infrequent use in business-data processing. In fact, arith- 
metical operations compose only a small fraction of the operations in 
business programs. The programmer still has many responsibilities in 
arithmetical operations. He must keep track of the decimal point by 
scaling when working in fixed point. Floating point computers manage 
the decimal point; but the programmer must worry about the numbers 
themselves and the possibility that the resulting precision is more ap- 
parent than real. Table 3-2 lists and describes each instruction "built- 
in" the hypothetical computer covered here. 

The instructions and operations for a hypothetical computer may 
serve as a general guide to computers with internally stored programs. 
Some specific examples of other types of instructions are given in the 
questions and problems for this chapter. Chapter 8 covers some ad- 
vanced programming techniques which can simplify the programmer's 
work; the use of these techniques demands a thorough understanding 
of the basic principles presented in this chapter. 

Table 3-2. Instructions for the Hypothetical Computer 

Input and Output 

RCn y x Read a card in card unit n and store in location x and follow- 
ing, indexable. 

PCn y x Punch a eard in card unit n with ten words from storage at 
location x and following, indexable. 

BOn y x Block transfer out to tape n buffer storage a block of 60 words 
from location x and following, indexable. 

WTn Write on tape n a block of data in its buffer storage. 

RTn Read 60 words from tape on tape unit n and place in buffer 

storage for that tape unit. 

Bin y x Block transfer in 60 words from buffer of tape unit n into stor- 
age location x and following, indexable. 



RWn 

Index 

SIS y x 

INC y n 

CIS y x 

Tests 

JMP y x 

CMP y x 



JIN y x 

JOV x 

Load and Store 

CAA y x 

STA y x 

CAM y x 

STM y x 
Arithmetic 

ADD y x 

SUB y x 

MLT y x 

DIV y x 

Miscellaneous 

HLT x 

SHL n 

SHR n 



BASIC COMPUTER PROGRAMMING 
Rewind tape on tape unit n. 



117 



Set index y from storage location x (not indexable). 

Increase index y by the number n (not indexable). 

Compare index y to storage location (not indexable). Next two 
instructions are used for "not equal" and "equal" exits. 

Unconditional jump to location x, indexable. 

Compare contents of accumulator and content of location x, 
indexable. Next three instructions are used for content of ac- 
cumulator < , =, and > location x. 

Jump, if accumulator negative, to x, indexable. 
Jump on overflow condition in accumulator to location x. 
Accumulator and M-Q 
Clear accumulator and add content of location x, indexable. 

Store content of accumulator in location x, indexable. 

Clear accumulator and M-Q registers and add content of loca- 
tion x into M-Q, indexable. 

Store content of M-Q register in location x, indexable. 

Add content of location x to accumulator, indexable. 

Subtract content of location x from accumulator, indexable. 

Multiply content of location x, indexable, by content of M-Q 
register. 

Divide the dividend in accumulator by divisor in location x, 
indexable. 

Unconditional halt; with instruction counter set to x (or 000 if 
blank). 

Shift combined contents of accumulator and M-Q registers n 
places to the left. 

Shift combined contents of accumulator and M-Q registers n 
places to the right. 



REFERENCES AND SUPPLEMENTAL READINGS 

Andree, Richard V. Programming the IBM 650 Magnetic Drum Computer 
and Data-Processing Machine, New York, Henry Holt and Co., Inc., 1958, 
109 pp. This book is an introduction to the IBM 650 Computer. These 
notes, according to Andree, provide a text with suitable problems, and 



118 ORIENTATION 

are not intended as a reference manual. The first 4 chapters are self- 
contained; but chapters 5 to 9 lean on published IBM manuals which the 
student is encouraged to consult. Chapter 6 emphasizes over-all principles, 
7 discusses interpretive systems using the Bell Interpretive System as an 
example, and 8 covers compilers with emphasis on IT and FOR TRANSIT. 

IBM 650 Magnetic Drum Data- Processing Machine Manual of Operations, 
New York, International Business Machines Corporation, 1957, 111 pp. 
This manual of operations covers the characteristics of the type 650 drum 
processor: input-output unit, operation codes and programming, console 
operation, optimum programming, and special operating devices. 

McCracken, Daniel D. Digital Computer Programming, New York, John 
Wiley & Sons, Inc., 1957, 253 pp. This book is directed toward people 
without previous knowledge of computing and also toward those whose 
work requires some general knowledge of how problems are solved on a 
computer. A hypothetical computer called TYDAC is used to illustrate the 
basic principles involved in programming, without regard for particular 
computers. In addition to the usual topics, the book includes a chapter each 
on floating decimal methods, program check-out, interpretive program- 
ming, and double-precision arithmetic. 

McCracken, Daniel D., Harold Weiss, Tsai-Hwa Lee, Programming Business 
Computers, New York, John Wiley & Sons, Inc., 1959, 510 pp. This book 
was, according to the authors, written for the person involved in the day- 
to-day application of computers to business data-processing problems. The 
first part covers the nature of the data-processing problems, the central 
concept of the file, flow charting, and the general characteristics of elec- 
tronic computers. The second part (Chapters 5-12) deals with coding, in- 
cluding arithmetic operations, jumps, address computations, loops and 
index registers, subroutines, input and output devices and programs, and 
verifying program accuracy. 

Thomas, Walker H. "Fundamentals of Digital Computer Programming," 
Proceedings of the I.R.E., vol. 41: 1245-49 (October 1953). A simplified 
stored-program digital computer with only eight instructions is used to 
demonstrate the fundamentals of computer programming. A number of 
basic techniques, including the computer's capacity to alter its own pro- 
gram, are illustrated by means of programs that perform elementary arith- 
metic and logical computations. 

Univac II Data Automation System, The, New York, Remington Rand 
Univac, 1957, 196 pp. Emphasizing programming for the Univac II, this 
manual covers process charting, flow charting, and coding; methods for 
processing items from internal and external storage; input and output; and 
system design. Practice programming exercises and solutions are a useful 
adjunct to the text. 



PART TWO 



AUTOMATIC 
EQUIPMENT 



CHAPTER FOUR 



INPUT-OUTPUT 
EQUIPMENT 



Business-data-processing systems must handle a large volume of 
data that may originate in various forms and in widely separated lo- 
cations. Although relatively simple arithmetical operations are per- 
formed, the processing may be complex, and the results of it put to a 
number of different uses. Input devices must bring data together 
quickly enough to take advantage of high-speed processing; expensive 
computers should not be kept waiting for lack of data. Output devices 
must handle results rapidly to keep up with the speed of other com- 
ponents and furnish output in various forms to meet the requirements 
of different end-uses. 

Suitable input and output equipment is essential for an efficient 
system. Widely scattered operations rely heavily on communication 
networks for data input and output, and important costs are involved. 
This chapter covers the nature and characteristics of input and out- 
put devices and of communication equipment. 

INPUT DEVICES 

The input operation is frequently inefficient and may even be a 
bottleneck in business-data systems. The usual scheme is to convert 
source data to some machine-processable medium — punched card, 
paper tape, or magnetic tape — for further handling. 

Operators at manual keyboards convert typed or written copy to a 
desired medium. Manual conversion is slow, and the error ratio is high 
enough that duplicate operations, calculations, and editorial checking 
are often used to detect mistakes and increase accuracy. The manual 
work in key punching can be reduced and accuracy increased by gang 
punching or otherwise mass producing the facts that are common to 
many items. Character recognition devices "read" typed or printed 
documents to prepare a suitable medium. Data punched in cards 
during this or a prior operation are often converted to magnetic tape 
for faster read-in to a computer. 

120 



INPUT-OUTPUT EQUIPMENT 121 

Pre-input 

"Pre-input" devices, which might also be called "off-line' de- 
vices, are used for preparing and converting data. The devices are "off- 
line" because they are not connected to the computer when the data are 
first prepared. At a later stage, and perhaps after a conversion opera- 
tion, the data are introduced into the computer. Pre-input devices, 
which capture data in various kinds of media, can be classified accord- 
ing to the media produced. Error-checking schemes, which are used to 
get accurate output, and several special devices that eliminate most 
of the manual work in data preparation are discussed separately. 

Paper-tape Punches. Many kinds of paper-tape punches are 
available. Simple devices merely punch tape, while more elaborate 
devices produce readable copy, duplicate other tapes, or control the 
content and format of the copy. Source data can be converted to 
punched paper tape with electric typewriters. Manual keyboard opera- 
tion produces a paper tape and a readable page ("hard copy") at the 
same time. The electric typewriter also "reads" paper tape and types 
hard copy or punches a second tape, or both, as desired. 

The hard copy produced when the tape is punched can be read 
against the original data as one way of verifying accuracy. A better 
verification plan, in terms of increased accuracy of output, involves 
another operator making a second tape from the original copy. Both 
punched tapes are run through a comparing device to produce a third 
tape. If both input tapes agree, the third tape is punched automat- 
ically. If the two input tapes disagree, the machine locks, so that the 
operator must determine what is correct, punch the output tape, and 
restart the comparison. 

Another verification plan is a compromise between the two de- 
scribed above. The original tape is used as input to a tape-punching 
typewriter and, if the second typing agrees with the first, a second 
output tape is produced automatically. If the first tape and second 
operation disagree, the operator chooses and correctly punches the 
output tape. 

By-product Paper-tape Punches. Source data are frequently 
punched in paper tape as a by-product of another operation. Many 
kinds of office equipment produce five-channel paper tape and some 
produce six-, seven-, or eight-channel tape (Taylor, 1955). 

In typing a sales order, for example, a suitable typewriter can 
also punch paper tape containing either the same data or only a se- 
lected part of the data. The by-product tape eliminates the duplicate 
work that would be involved in punching the tape later. The sales 
order, which can be produced in multiple copies for ordinary pur- 
poses, is useful for checking tape accuracy since the hard copy and 
tape must agree. The degree of accuracy achieved depends on the 



122 



AUTOMATIC EQUIPMENT 



skill and care used in typing and verifying plus the skill of subsequent 
users in detecting mistakes. The tape can be used for input to the com- 
puter or for processing on any tape-reading machine. 




Figure 4-1. Flexowriter with punched tape and hard copy output 

The Flexowriter shown in Figure 4-1 is widely used for punching 
five-, six-, seven-, or eight-channel tape and for preparing hard copy. 
Some models of electric typewriters can also produce five- or eight- 
channel edge-punched cards while typing a printed page. They can 
read tape and retype a page without change or with desired modifica- 
tions. Accounting, adding, calculating, and other office machines — 
examples of which are shown in Figure 4-2 — produce paper tape as 
a by-product of normal office operations. 

Card Punches. Punched cards are a common medium for getting 
data into machine-processable form. Striking a key on a punch, shown 
in Figure 4-3, punches the hole or holes in a column to represent one 
character. A printing punch also prints the characters along the top 
of the card above the corresponding punched column. 



INPUT-OUTPUT EQUIPMENT 123 



rir 








1 1 



V 



Figure 4-2. Tape-punching office equipment 



124 



AUTOMATIC EQUIPMENT 




Figure 4-3. Card key-punch 

The original data and punched cards may be given to a second 
operator for complete or partial verification. Numerical data may be 
verified but alphabetic data skipped, since a lower margin of accuracy 
is sometimes more tolerable for letters than for numerals. Since a veri- 
fier senses holes but does not punch, verification continues if the second 
operator, reading the original data, depresses the same keys as the 
first operator. The verifier stops if the depressed verifier key and 
punched character are different, and the operator determines whether 
he depressed the wrong verifier key or the card was punched wrong. 
Cards are usually punched to indicate whether they passed or failed 
the verification test; a new card can be produced by repunching only 
the part that failed verification and by duplicating the rest. 

Manual key-punching work, which is done at about the same 
speed as typewriting, can be reduced by automatic duplication of 
master copies or decks of constant or repetitive data. Some input is in 
a machine-processable form because it originates from card-punching 
time clocks or transaction recorders, as described below. Marking a 
card in specified locations with a special sensitized pencil permits auto- 
matic mark-sensing to punch the marked data. 

Typewriters are adapted for direct connection to card punches so 
that normal typing operations produce punched cards as a by-product. 
Accounting, adding, and other office machines can also be connected 
to a card punch. Figure 4-4 shows a typewriter and a bookkeeping 
machine connected to a card punch. Where large volumes of data are 
involved, the data on cards may be converted to magnetic tape be- 
fore input to a computer. 



INPUT-OUTPUT EQUIPMENT 





Figure 4-4. Typewriter and an office machine 
connected to card punches 



126 



AUTOMATIC EQUIPMENT 



Magnetic-tape Writers. A manually operated keyboard device 
is used for recording data on magnetic tape directly from source data. 
The device in Figure 4-5 records data on magnetic tape and produces 
a typed copy for the record and for checking purposes. 




Figure 4-5. Keyboard to prepare magnetic tape and page copy 

The typical verification schemes of scanning copy or of dupli- 
cating key-stroke operations and comparing the two results can be 
used with magnetic-tape writers. Duplicate operations cost more than 
scanning but give more accurate results. The input tape is put in the 
verifier and the original data retyped. The verifier stops if the second 
typing is not identical with the data already on tape. The mistake can 
be "erased" from the magnetic tape and the correct character sub- 
stituted. In some cases, where the accuracy of input data is vital, three, 
four, or even five tapes have been prepared independently and then 
compared after read-in to the computer in order to isolate discrepan- 
cies and try to get perfectly accurate input. 

Advance Preparation. The input methods described above use 
data on typed or handwritten documents that are not machine proc- 
essable. Manual conversion of individual documents, character by 
character, to get data into suitable form is expensive and may be in- 
accurate. The idea of "advance preparation" of input data means 



INPUT-OUTPUT EQUIPMENT 



127 



that output from one stage serves as data input at the next stage of 
processing. One example of advance preparation is use of the master 
file produced in one run as input in the next run or cycle. 

Another example of advance preparation of input data is the 
punched-card bill which is prepared and sent to a customer and which 
he is supposed to return with his payment. When this is done, a cashier 
gets a customer's bill card to identify the collection. The collected 
bill card is then used as data input for crediting a customer's account, 
so that manual conversion of input data is eliminated. Mass prepara- 
tion of data at one stage can minimize manual conversion at the next 
stage. 

Advance preparation of data can be widely used within an or- 
ganization, for there is almost complete freedom over the media used 
internally. On the other hand, there are usually many constraints over 
the kind of media that can be used to communicate with customers, 
employees, and other organizations. The fact that they may be un- 
willing or unable to accept a certain medium — an individual cannot 
cope with a bill on magnetic tape — limits the variety of media that 
can be realistically considered. 



I UN 23451 PBtti 

P m 3Mffi-* •••••• • •• •"*• 

iHfilefte's . ;: 



213 BCLMI • 
1 llll 2345J 


^ 789<>P 

2W" 


• • 


• • 
• • • • 
II • 

# S!5i 

• • 


• • • • 

• • 

• • • • 


213 BCLI 


a 789<* 


• • 


( .2*S . 

• • • • 
• • 



2I3BCLIII# 4 7fl9ff 



Figure 4-6. Merchandise inventory tag 

Tag Readers. Inventory control is facilitated by mass producing 
punched cards or other machine media at the time of purchase or 
manufacture. Special devices print and punch tags with the item name, 
number, size, manufacturer, and other desired facts. Figure 4-6 shows 
an example of a merchandise inventory tag that is mass produced when 
inventory is received. 

When an item in stock is used or sold, one part of the tag is de- 
tached. A machine reads the detached part of each tag and converts 
the data to a medium suitable for further processing. Some kinds of 



128 



AUTOMATIC EQUIPMENT 



tags originally attached to the item may be used for further processing 
without any conversion. 

Transaction Recorder. A section of an inventory tag may be 
detached and placed in a transaction recorder at the point of sale. A 
recorder that also serves as a cash register is shown in Figure 4-7. The 
recorder automatically reads holes in a tag and produces a continuous 
punched tape, which also includes the variable data that the operator 
manually enters on a keyboard. Whenever desired (daily or less fre- 
quently), the tapes can be converted to punched cards or fed directly 
into a computer for processing. Direct wire transfer of data from trans- 
action recorders to a computer is useful for quickly updating account 
balances and interrogating them. 



T, *, 



© • • « Ml m 

• • a//e 7 




Figure 4-7. Point-o-Sale Recorder 



INPUT-OUTPUT EQUIPMENT 129 

A factory production recorder, another type of transaction re- 
corder, punches a card with start-stop time and numbers for workers, 
jobs, and machines. A transacter (transaction transmitter) located at 
any number of remote stations accepts punched cards or tags contain- 
ing pre-recorded data. In addition, the transacter identifies its opera- 
tor and location together with the specific item or machine operation 
covered by its report. Pertinent variable data are set on a dial by the 
operator, and a transaction code is designated by a selector on the 
panel. The data are sent from the transacter to a central compiler that 
adds the following to each message: shift, date, time, end-message 
code, and processing instructions. Once the complete data for a trans- 
action are captured, they can be stored, transmitted, and processed as 
desired. 

A device called FLIDEN (flight <iata entry) is used for quick, 
accurate input of aircraft flight control data to a computer. The opera- 
tor sees the whole message displayed on a television-like tube while 
he enters the data. He can read the message, backspace as many char- 
acters as he wishes to delete mistakes, and then enter the correct char- 
acters. When satisfied with the accuracy of the message as set up and 
displayed for checking, the operator can transfer it to the computer. 
The idea is that the immediate feedback to the operator coupled with 
his ability to correct the message will increase both accuracy and speed 
of input. This concept is applicable, of course, to entering other kinds 
of data. 

Character Readers. Another data-input system reads characters 
printed on original paper documents (Harrell, 1959). Character-recog- 
nition devices convert visually readable characters into machine-proc- 
essable form. The Stanford Research Institute designed the first 
magnetic-ink character reader for sorting and accounting for paper 
checks. Since then other companies have also developed data-process- 
ing systems for handling checks printed with magnetizable ink. Inks 
containing ferrites are printed on paper by any wet printing process; 
electric typewriters and some kinds of adding machines can use a spe- 
cial ribbon for printing characters that can be magnetized for reading. 

Documents printed with magnetizable ink are passed through a 
permanent magnet which polarizes the ink in the printed characters 
(0 to 9 and four letters) and then through a reader at 150 inches a 
second. At 8 characters an inch, the reading rate is 1,200 characters 
a second. The output signal obtained from vertically scanning the 
character is examined to identify the character. Specially shaped char- 
acters, as shown in Figure 4-8, are used to improve reliability of read- 
ing and the system is said to be secure against most common types of 
defacement. 



130 AUTOMATIC EQUIPMENT 



No- 



5-39 
110 



Pay to the 

ORDER OF. 



.Don 



to rA TIRST 

NATIONAL BANK of 

BOSTON 



•:o i io»«ooiR»:a 1 2»< m s ?h ,c jo 




F.GURE 4-8. Check unth magnetic-ink characters 




F IGURE 4-9. Credit card, sales ticket, and Scandex 
character-sensing equipment 



INPUT-OUTPUT EQUIPMENT 131 

The Intelligent Machines Research Corporation has built many 
machines for reading characters printed in ordinary ink and standard 
type styles (Tersoff, 1958). One machine of this type, called Scandex 
(shown in Figure 4-9), was built for converting customers' numbers 
from readable to punched form. When a retail gasoline station makes 
a sale, for instance, the customer's name and account number are im- 
printed from a plastic plate to an unpunched card. The item involved 
and amount of the sale are recorded manually. The cards, with im- 
printing and writing, are sent to a central location where a Scandex 
unit reads the customer's number and punches it in the same card. Op- 
tical equipment vertically and horizontally scans each numeral, and a 
logical network decodes the scan pattern into a character. The amount 
of sale is manually key punched in the card. Cards containing basic 
data — customer's number and amount of sale — are then used for billing 
customers and in any other ways desired. 

Equipment has been developed to read handwritten characters 
(Dimond, 1958). It is based on the ingenious idea that a grid can be 
set up so that each character written will cross a different combina- 
tion of grid lines. Dots printed at the intersections of the grid lines 
encourage people to print carefully, around the dots, so that machines 
can read the characters: 

Section of Grid Numerals Written on Grid 

1:2^561830 

The machine reads by determining which grid lines are crossed and 
decoding the pattern into a numeral. More guide dots and grid lines 
are used for alphabetic characters than for numerals. Machines to read 
handwriting have the interesting incidental feature of forcing people 
to write legibly — something that people have not been able to teach 
each other to do in hundreds of years. The fact that banks, oil com- 
panies, telephone companies, and postal departments have become 
very much interested in buying character-reading machines indicates 
that they may be widely used in the future. 

Input Converters 

Some computers are designed to accept data on magnetic tape 
only, because of its high read-in rate. Furthermore, magnetic tape is 
often preferred even though punched cards or paper tape can be used. 
Automatic converters transfer data from one medium to another. The 
methods of recording (punched hole or magnetic spot) and of number 
system representation (decimal, binary, binary-coded decimal, and 
five- through eight-channel code) are ordinarily changed during con- 
version. Efficient converters increase the compatibility and flexibility of 



132 



AUTOMATIC EQUIPMENT 



different types of equipment, so that each unit of equipment can be 
selected on its own merits, with less regard to whether all use the same 
medium. 

Punched Cards to Magnetic Tape. Many data processors include 
punched-card to magnetic-tape converters. Converters are vital, if 
punched cards are used in the pre-input stage and magnetic tape is 
used as on-line computer input. A card to tape converter is shown in 
Figure 4-10. Converter control is independent of the computer and it 
operates off-line. Wired plugboard panels are used for editing opera- 
tions during conversion. Card reading and magnetic-tape writing are 
usually checked for accuracy. 




Figure 4-10. Punched-card to magnetic-tape converter 

Most converters operate at speeds of 240 to 400 cards a minute 
(320 to 533 characters per second ). Newer converters operate at about 
1,000 cards per minute, which is 1,333 characters a second. 

Paper to Magnetic Tape. Paper to magnetic-tape converters 
are included in several systems. Paper-tape readers can usually handle 
five- through eight-channel code. The paper-tape unit of one com- 
puter system reads only seven-bit computer code and requires spe- 
cial devices for punching this code in tape. The converter is simpler 
and less expensive, although inflexible, for it does not deal with six- 
channel tape code. Some converters do a limited amount of editing. 
Most converters operate at about 200 characters a second; but newer 
equipment reads 1,000 characters a second and there are indications 
that higher speeds will be reached soon. 



INPUT-OUTPUT EQUIPMENT 

Paper Tape to Punched Cards. Paper-tape to punched-i 
converters are important for large-scale data processors, since pa 
tape to magnetic-tape converters are rare. Data converted into c 
can be read into the computer; but if faster read-in is required, c 
can be converted off-line to magnetic tape. The converter show 
Figure 4-11 reads paper tape and punches cards at the rate of 20 c 
acters a second. Conversion of paper tape to punched cards or s 
other form is important for integrated data-processing systems b 
on paper tape. 




Figure 4-11. Paper-tape to punched-card converter 

On-line Input 

On-line input devices are connected to the computer for di 
read-in. Selection of a device depends on data volumes, equipn 
speeds, and the permissible processing time. Magnetic-tape read-w 



134 AUTOMATIC EQUIPMENT 

units are used for mass data input, whereas punched-card or punched 
paper-tape readers are widely used for intermediate volumes. Key- 
board devices read in limited amounts of data, program corrections, 
and file interrogations. The computer-console switches may be used 
to read in some data or fragments of a program, especially the initial 
steps required to start program read-in. 

Magnetic-tape Units. A magnetic-tape transport unit is used 
for on-line read-in and write-out of huge volumes of data. Figure 4-12 
shows a schematic diagram of the arrangement for reading tape data 
into computer storage or for writing data on tape. One read-write head 
is located at each of the seven data channels across the tape to read 
or write data on the tape in a suitable pattern. The end of the tape is 
determined either by a photocell or electric contacts which sense a 
metallic strip attached near the end of the tape, or by rubber 
"bumpers" attached to the tape to activate a switch. Erasing heads 
electrically erase any data previously recorded on tape — which might 
interfere with the recording of new data. Loops of tape between tape 
reels and read-write heads take up differences in starting and stopping 
speeds. High speed read-in of data is likely to fill the portion of main 
storage allotted to data read-in faster than data can be cleared out 
of it. When this happens, reading must be interrupted until the proc- 
essor is ready to receive more data. Steady, high-speed movement 
of tape past the reading head generates a magnetic field for each bit 
recorded on tape. Reading consists of sensing the magnetic fields. Data 
are recorded on tape with spaces or gaps which permit starting and 
stopping without losing any data. The computer manufacturer specifies 
whether a block of data consists of a fixed or variable number of char- 
acters. An inter-record gap is placed between successive blocks to 
permit stopping during processing. Reading can continue without 
stopping in each gap if the computer can handle data as fast as re- 
ceived. The need for inter-record gaps growing out of the technical 
features of high-speed magnetic-tape reading should be contrasted 
with the paper-tape reading techniques described below. Users must, 
of course, design records in keeping with the features that the manu- 
facturer builds into the equipment, including the arrangement of rec- 
ords and read-write methods. 

Parity-bit schemes, as described in Chapter 2, are used to detect 
read-write malfunctions in most tape units. Dual recording of all 
seven data channels is used in some systems. Data that pass the parity- 
bit test, in one or several attempts to read, are accepted. A similar plan 
of checking data after writing on tape (echo checking or proofreading) 
is used in some computers. Many magnetic-tape units operate at read- 
write rates of 10,000 to 60,000 characters a second obtained from tape 
speeds of 75 to 112 inches a second and at densities of 100 to 500 



INPUT-OUTPUT EQUIPMENT 



135 



characters an inch. Some newer units reach speeds of 100,000 or more 
characters a second, primarily through higher-density recording. Data 
written on magnetic tape by means of key-operated devices and card 
to tape converters are in short records (120 or 80 characters) and at 
low densities (50 or 128 characters an inch). Longer records and higher 
densities are achieved on tapes written by the computer. 



Transaction 
file tape 




Read-write 
heads 



Take-up 
oop 



Take-up reel 

oooo 

Figure 4-12. Magnetic-tape unit 

Punched-card Readers. On-line punched-card readers, as shown 
in Figure 4-13, are used with many business processors. The computer 
controls the card reader and starts and stops reading operations as re- 
quired. Punched-card readers have wired plugboard panels for editing 
operations, which include checking for double punches, blank col- 
umns, and field consistency (no alphabetic characters in a numerical 
field and vice versa). Contents of columns can be omitted, altered, or 
rearranged for transfer into storage. Card readers usually verify opera- 
tional accuracy by reading each card twice, and contents are accepted 
only if the two readings are identical. Conversion between the 
punched-card code and the code used in the computer is handled either 
by the read-in equipment or by a computer program. 

Typical reading speeds are 125 to 250 cards a minute (167 to 333 
characters per second). One card reader operates at 1,000 cards a min- 
ute (1,333 characters per second) and equipment to read 2,000 and 
even 3,000 cards a minute has been developed. 



136 AUTOMATIC EQUIPMENT 



A 



tf 





o 



(/*" 



Figure 4-13. Punched-card reader 

Paper-tape Readers. Paper-tape readers are often used with 
small data processors, and sometimes with large ones. Paper-tape 
readers are especially valuable where data are received over wire cir- 
cuits. Readers handle five- through eight-channel code under con- 
trol of the computer. 

Limited editing operations may be performed during read-in. 
Most readers operate at 200 to 500 characters a second. Equipment 
with speeds of 1,000 characters a second is available and higher speeds 
will be reached. Paper-tape reading equipment can stop tape move- 
ment between any two adjacent characters, the regular spacing of 
which is ten characters an inch; this means that any one character 
can be read into the computer and examined and the tape movement 
stopped before the next character comes into reading position. Thus, 



INPUT-OUTPUT EQUIPMENT 137 

no special inter-record gap is required because the space between any 
two characters serves as a start-stop gap. There is a further difference 
in reading paper and magnetic tape. Paper tape is read by photoelectric 
cells (or electromechanical feeler pins in slower readers) which sense 
the presence or absence of holes in each character position; this method 
allows tape to be read as slowly as desired. 

Keyboards. A keyboard device may be used to enter data di- 
rectly into computer storage. Keyboards are used for program testing, 
program alteration, procedures, and file interrogation. Manually 
operated keyboards are rarely used for mass input because people can 
type no more than a few hundred characters a minute. People make too 
many mistakes to permit direct, unverified entry of data into a com- 
puter. 

Multiplexed Input. Keyboard input may be desirable even 
though limited by manual operating speeds. A large number of key- 
boards connected to the computer at one time — multiplexed input — 
effectively increases input speed. Keyboard data are first read into 
buffer storage and the computer is notified when the transfer to buffer 
is completed. Data are then copied from the buffer to main storage. 

Data from each keyboard are accepted in turn; but priority may 
be given to some keyboards to accept their input ahead of others. A 
computer can handle a large number of keyboard inputs in this manner 
without excessive waiting time. A "program interrupt" feature in some 
computers permits a read-in unit filled with data to take the initiative 
and interrupt the program just long enough to start the transfer of 
data. Processing of other data continues during the read-in of new data. 

The American Airlines Reservisor System has many inquiry sets 
directly connected to a computer. Data are entered in an inquiry 
set in two ways: (1) on coded plates containing fixed data; (2) on a 
manual keyboard which enters variable data. 

Each inquiry set at a ticket sales office is connected directly to 
a computer that maintains inventory records on flights. An agent in- 
serts the coded plate into the inquiry set shown in Figure 4-14 to select 
legs of flights from one point to another. Date, flight leg, and number 
of seats desired are entered manually in the keyboard, and lights on 
the inquiry set indicate whether the desired space is available. If the 
space is available and the customer buys a ticket, the agent pulls the 
"sell" switch. The computer subtracts the number of seats sold to 
update the available balance for that flight. 

Buffer Storage. The computer can accept and record data in 
storage faster than input units can supply it. Buffer storage is used 
to compensate for this difference in operating speeds. A buffer may be a 
small intermediate storage unit between the input unit and computer 



138 



AUTOMATIC EQUIPMENT 




INPUT/OUTPUT 



COMMUNICATIONS 



Uni-n LARGE CORE 




Figure 4-14. Inquiry set and coded plate; 

schematic of Reservisor system 



INPUT-OUTPUT EQUIPMENT 139 

storage and connected to them; in other cases, part of the main storage 
is used for buffering, for program storage, or for data storage. 

The computer directs the input unit to read data into buffer 
storage and continues with other operations until the read-in opera- 
tion is completed. The computer transfers data from buffer storage 
into main internal storage at a high speed, without limitation for the 
speed at which the buffer was filled. Buffering does not, of course, in- 
crease the speed of data read-in above the rated capacity of a card 
or tape unit. But buffering does have the virtue of minimizing inter- 
ruptions of the computer while data are being read in so that more 
processing can be done per unit of time. 

Some computers continue processing throughout the whole read- 
in cycle. Concurrent operations of this type are called "read-while- 
compute" and neither the computer nor the read-in unit is delayed by 
waiting for the other. Read-while-compute increases the efficiency of 
data-processing operations but does not permit exceeding the rated 
speed of read-in units. Data-processing operations can still be "read-in 
limited," if data are wanted faster than they are read in. Operations 
are "computer limited," if the processing cycle is longer than the read- 
in cycle. Rarely are the processing and read-in cycles exactly the same 
length; but focusing attention on the longer one will often bring the 
two into closer balance. 

OUTPUT DEVICES 

Processed results may go directly to an on-line printer, if output 
is needed quickly. Ordinarily, results are recorded in machine-process- 
able form for off-line printing and later processing as required. Off- 
line printing is desirable if slow printers operating on-line will hinder 
the computer. 

On-line Media Producers 

On-line devices convert computer output directly to magnetic 
tape, punched cards, paper tape, printed reports, or visual displays 
in television-like tubes. Magnetic tape is frequently used for large 
volumes, whereas typewriters are adequate for answers to a limited 
number of file interrogations. 

Magnetic-tape Units. A magnetic-tape unit used for data read- 
in is also used interchangeably for data write-out. A magnetic-tape 
unit is efficient for write-out because it accepts data much faster than 
a punched-card or paper-tape device. Read-out rates of 10,000 to 
60,000 characters a second are common, and some units operate at 
100,000 or more characters a second. 



140 AUTOMATIC EQUIPMENT 

Some computers do not buffer input or output to magnetic tape, 
so that computations stop during data read-in or write-out. Other 
manufacturers provide for concurrent operations of read-in, comput- 
ing, and write-out. Some manufacturers design for only two concurrent 
computer operations — read-in and computing, for instance. One com- 
puter is designed so that the user can select any two concurrent opera- 
tions — read-compute, compute-write, or read-write. 

Card Punches. A card punch is often connected to and con- 
trolled by the computer for on-line output. Buffers take up speed dif- 
ferences between computer output and card-punching rates. Results 
are first read from internal storage into buffer storage; the computer 
then directs the card punch to take data from buffer storage. During 
the punching cycle, other operations continue. Some processors are 
designed so that the card punch retains the initiative to call for data 
when it is ready to accept data. This program-interrupting feature 
simplifies programming because the computer program need not keep 
asking the card punch if it is ready to accept more data. 

Plugboard panels control some editing operations during read-out 
and punch. Data punched into a card are reread or checked by other 
schemes to verify the accuracy of punching. Most card punches operate 
at speeds between 100 and 250 cards a minute. 

Paper-tape Punches. Several computers have directly connected 
paper-tape punches. Punches usually produce one code, but they can 
be readily converted to punch any code from five to eight channels. 

Buffer storage is used between computer storage and paper-tape 
punches, and some punches perform limited editing during read-out. 
Paper punches operate at speeds of 20 to 500 characters a second. 

Output Converters 

Many computers have output facilities for only one or two media 
so that converters are used to transfer the data to other media. A wide 
choice of output methods from the computer may be available, al- 
though all of these are not necessarily efficient in practice. One effi- 
cient scheme is to use magnetic tape for fast write-out from the com- 
puter and to convert from tape to other media while the computer 
continues other operations. 

Magnetic Tape to Punched Cards. Many business systems have 
equipment to convert data from magnetic tape to punched cards. Tape 
to card converters operate off-line (independently of the main com- 
puter). Control panels are wired for editing during conversion, and 
accuracy checking for both magnetic-tape reading and card punching 
is customary. Magnetic-tape to punched-card converters operate at 
speeds of 100 to 250 cards a minute. 



INPUT-OUTPUT EQUIPMENT 141 

Some applications require both printing and punching on the same 
card. Elaborate processing schemes are used to (1) print cards on con- 
tinuous forms, (2) burst them apart, (3) punch desired data into the 
cards and, finally (4) verify that the corresponding data are printed 
and punched on the same card. 

Magnetic Tape to Paper Tape. Some business processors convert 
data from magnetic tape to paper tape. In one system, paper-tape code 
is identical with magnetic-tape code. Generally, data can be punched 
in any one of several code schemes and the converter may perform 
limited editing operations during conversion. Remington Rand manu- 
factures a magnetic to perforated-tape (MTP) converter for reading 
Univac tape and punching the data in a five-level, six-level, or seven- 
level, 64-character communication code. The converter automatically 
punches teletypewriter function codes (Figs., Ltrs., CR, and LF) in 
the paper tape. Any other special codes required for the operation of 
the communication system must be inserted in proper order by the de- 
vice that generates the magnetic tape. 

A direct conversion can be made from the Univac C-10 code to a 
selected, five-level communication code. It is possible to delete selected 
computer codes or to use them for starting and stopping the paper- 
tape punch. Illegal computer codes (ones without an equivalent in 
communication code), unless deleted, will stop conversion and indicate 
an error. Control codes, unused teletypewriter codes, and illegal com- 
puter codes are not punched on the paper tape. The translator and 
control unit of the converter checks the seven-level code and adds 
the necessary teletypewriter function codes to the paper tape. The 
operating speed, which is limited by mechanical problems involved 
in punching tape, is 60 characters a second. 

Punched Cards to Paper Tape. Card to paper-tape converters 
may be used with large-scale systems to go from magnetic tape to paper 
tape. In two stages, magnetic-tape data can be converted to punched 
cards, and cards then converted to paper tape. Conversion from 
punched cards to the desired number of channels on paper tape is com- 
mon in integrated data-processing systems. Two-stage conversion may 
have the disadvantages of requiring more equipment and taking longer 
to perform than direct conversion. Converters sense 15 characters a 
second and punch paper tape. 

Multiple Converters. An approach to the conversion problem 
that is adopted by some companies is to build multiple or universal 
converters which can convert from any one medium to any other. The 
Electronic Engineering Company, for example, has developed a com- 
puter language translator for an off-line conversion of media, code, 
and format which does not interfere with normal computer operations. 



142 AUTOMATIC EQUIPMENT 

Media can be converted to or from digital computers, magnetic tape, 
electric typewriters, card readers, paper-tape punches, teletype lines, 
manual keyboards, and card punches. 

Several types of code conversion are available, depending on the 
input-output devices to be combined into a single system: any four- 
level code to any four-level code (excess three to binary-coded decimal, 
and so forth); single-character six-bit alphanumerical to other single- 
character alphanumerical; two-character numerical to single-character 
numerical; binary to octal; binary to binary-coded decimal; and 
binary-coded decimal to binary. 

Data format on magnetic tape varies from one computer manu- 
facturer to another and sometimes between models made by one manu- 
facturer. A universal converter is expected, therefore, to translate data 
from one magnetic-tape format to another. It must, of course, translate 
between the formats used for punched cards and paper tape (including 
teletype), as well as magnetic tape. 

Accuracy in the translation of media, code, and format is assured 
by means of internal parity checking — both laterally across a character 
and longitudinally along the tape — if originally used on the tape. Out- 
put from the buffer memory is checked for both lateral and longitudinal 
parity during the tape rewind. The translator can be programmed 
to stop automatically, if a parity malfunction is detected at any of 
the checkpoints, to allow analysis by the operator. 

Mechanical Printers 

Page printers work from most forms of data media — magnetic 
tape, punched cards, and paper tape. Fast printers connected on-line 
to the computer save an intermediate step. 

The traditional method of typing business documents is well- 
known (Hosken, 1953). It consists of holding paper against a platen, 
placing an ink-bearing ribbon over the paper, and striking the ribbon 
with a metal type slug of the desired character. Numerous variations 
of this plan are used to increase printing speed. Commonly used me- 
chanical printers can be classified as: 

1. Single-character — type and matrix 

2. Line-at-a-time — type stick, type wheel, and matrix 

Single-character. A single-character device, such as an electric 
typewriter, types one character at a time and can produce five lines of 
120 characters in a minute. Typing speeds of 600 characters a minute 
may be fast enough for a punched-card or punched paper- tape system. 
An electric typewriter is often used on-line with the computer for 
typing out a log of machine operations and giving instructions to the 
computer operator. 



INPUT-OUTPUT EQUIPMENT 



143 



A matrix printer is different from the usual type-face printer in 
having no type slug or type face. A matrix of wires is used at each print- 
ing position to form a character. A matrix of 35 wires arranged in a 5 x 7 
rectangle is common. To print an "A" the wires that form it are pushed 
out slightly by means of a notched push rod and a hammer strikes 
the paper against the matrix to print. The matrix scheme eliminates 
the problem of moving a type slug into and out of position but a matrix 
printer requires careful adjustment of the push rods to give an even 
impression. 

One style of matrix printer uses only one row of wires and repeats 
impressions from selected wires to form a character. Five wires at each 
printing position across the print line can, with paper moving ver- 
tically, print characters down the paper. In another version of the 
matrix printer, seven pins are used for each printing line with the paper 
moving in the same direction as the line of print. This plan is useful 
for printing a fixed number of lines on magazine labels. Each five- or 
seven-pin head can print 24,000 characters a minute. 

Line-at-a-time. A medium-speed line printer, shown in Figure 
4-15, uses either type bars or type wheels to print a whole line of char- 
acters at one time. Each printing position has a complete set of alpha- 
numerical and special symbols on movable type bars. Each bar is raised 
until the desired symbol is in printing position and hammers strike 
the type bars to print in all positions at one time. A type-bar printer 
produces up to 90 lines of 100 characters each in a minute. 






Figure 4-15. Line printer 

A type-wheel printer has a wheel instead of a type bar at each 
printing position. Numerical and alphabetic type faces are arranged 



144 



AUTOMATIC EQUIPMENT 



around the rim of each wheel and desired characters are rotated into 
position. The print wheels move forward to strike the paper and pro- 
duce a printed line. A wheel printer produces 150 lines of 120 char- 
acters each in a minute. 

Matrix line printers that use 35 wires at each printing position 
across a line can print as many as 1,000 lines of 120 characters each 
a minute. 

A higher-speed printer, shown in Figure 4-16, consists of a cylin- 
der of print wheels, arranged side by side, that rotate continuously. 
Raised characters are arranged in bands around the rim of the cylinder. 
Every character to be used, and there are usually 50 or 60, is located 
in each band which provides one printing position. A fast-acting 
hammer opposite each band of characters presses the paper against 
the desired character at the correct time while the paper is stopped 
at each print line. Printing speeds of 1,000 lines a minute of 160 alpha- 
betic characters each, or 2,000 lines of numerical characters, are almost 
commonplace. 



k 




Figure 4-16. High-speed printer and output 



Electron-optical Printers 

A mechanical printer which strikes the paper with a hard metal 
surface and moves the paper with a high start-stop speed may tend to 
tear the paper. Electron-optical printers rely on entirely different prin- 
ciples and do not physically strike the paper. They are extremely fast 
output devices because high-speed mechanical parts are virtually 
eliminated. 



INPUT-OUTPUT EQUIPMENT 



145 



Cathode-ray. A cathode-ray output device receives data either 
directly from the computer or from magnetic tape. The desired data 
are displayed in suitable form on a cathode-ray tube similar to a tele- 
vision tube. 

A photograph of data images on the tube face is used as output 
copy. One plan is to use 35 mm film to photograph successive displays 
of data. Later, the film is developed and printed. Any preprinted form 
can be introduced by means of a glass plate containing the desired 
form — purchase order, invoice, or whatever — between the tube face 
and camera. 

Electrostatic. The Charactron shaped-beam tube developed by 
Stromberg-Carlson displays data at the rate of 10,000 to 20,000 char- 
acters a second. This permits printing 5,000 lines of 120 characters 
each a minute by means of the xerographic process, which can be ex- 
plained briefly, as follows: Images on the tube face are directed onto 
a light-sensitive selenium printing drum revolving at high speed. The 
exposed section of the revolving drum is dusted with a fine, electrically 
charged powder, carrying a black thermoplastic material called the 
"toner," to form the image. The powder and toner are electrostatically 
transferred to any type of blank or preprinted paper, and the toner, 
acting as an ink, is fixed by heat. When the printing cycle is completed, 
the drum surface is cleaned and recharged for the next printing. 





Convergence 
coil 


Mu metal 
\ shield -\ 


Yoke 


Coil 




adjuster \^ 


adjuster \ 




Helical \ 
accelerator ^\ ^^z 




<§5J\ 



Matrix 

Reference 
plates 



Selection 
Plates 



Deflection 
yoke 



Viewing 
screen 



Figure 4-17. High-speed printer shaped-beam tube 



146 AUTOMATIC EQUIPMENT 

The shaped-beam tube is similar to a television tube in some ways, 
except that the tube throat contains a matrix plate with desired letters 
and numerals cut through it. An electron beam is shot through a pre- 
selected character aperture where it is instantly shaped to the form 
of the selected character. The shaped beam is then directed to the 
desired location on the tube face where it is projected to the sensitized 
surface of the revolving drum of the xerographic printer. The general 
scheme of the Charactron printer is shown in Figure 4-17. A Charac- 
tron printer using the cathode-ray and xerographic principle will print 
from 10 to 10,000 words a minute, which is equal to 500 lines of 120 
characters each. 

F err omagneto graphic. An experimental model of a device based 
on magnetic principles has been developed. A latent magnetic image 
of the data is recorded on a magnetizable surface, after which ink con- 
taining iron is sprayed on the surface and adheres to the magnetized 
areas. When the surface is rolled against paper, the inked images are 
printed on the paper. The drum surface can, of course, be re-used. 

Preparing output in a useful form involves editing data, rearrang- 
ing words and fields, suppressing leading zeros, computing subtotals 
and totals, and separating items by class — part number, area, and 
date. The work of output preparation may be divided between the 
computer and the printer; this minimizes the programming required 
for the computer and simplifies the wiring board required to control 
the printer. 

Printers can produce an original and one or several carbon copies. 
More copies can be prepared by first printing some master form and 
running as many copies as desired. Continuous paper forms of various 
widths and lengths are used in printers; data can be placed anywhere 
on these forms, whether they are blank or preprinted. Line printers 
pose an interesting problem in printing format. Effective printing 
speeds are highest when each line contains the maximum number of 
characters and the entire report has a minimum number of lines. But 
people dislike long lines of solid printing and insist on some spacing 
between items, which results in more lines of print for the same number 
of characters and, therefore, increased printing loads. 

COMMUNICATION FACILITIES AND EQUIPMENT 

The efficiency of the input-output facilities of a widespread organ- 
ization depends heavily on communication channels and transmitting 
devices (Fitzgerald, 1956). Mail, air mail, or messengers are often 
satisfactory. Telegraph and telephone circuits are used for interme- 
diate-speed transmission; if time is critical, faster facilities may be 



INPUT-OUTPUT EQUIPMENT 147 

used for high-speed transmission. Microwave radio and closed-circuit 
television may be used in future data-processing systems. Various trans- 
mitting devices can be used for different communication loads. 

Communication Channels 

Many services exist for transmitting data over telegraph and tele- 
phone circuits. Regular commercial telegraph, TWX, Telemeter, and 
private wire service have features to meet various needs. 

Telegraph and Telephone Service. Regular commercial telegraph 
service is used for transmitting limited amounts of data which are sent 
to the telegraph office. If volume is sufficient, a tie line and a small 
transmitter unit provide for facsimile transmission to and from a local 
office. Pricing is based on message length and the distance sent. Trans- 
mission speeds are 60, 75, or 100 words a minute, depending on the 
quality of service obtained. 

A carrier telegraph system manufactured by the Collins Radio 
Company provides 18 channels for transmitting teletypewriter, super- 
visory control, or other binary data over wires that are rated as a single 
voice-band transmission facility. Eighteen duplex channels may be de- 
rived on a four-wire circuit or nine channels on a two-wire circuit. 
Carrier tones separated by 170 cycles per second in the audio range 
(centered at 425, 595, etc., to 3,315 cycles per second) are used to 
transmit marks and spaces. Frequency of the carrier tone is shifted 
42.5 cycles a second above and below the nominal frequency to repre- 
sent mark and space. This scheme provides freedom from errors caused 
by variations in the level of signal received and much of the noise that 
arises. Each of the eighteen or nine channels may be operated at signal- 
ing rates corresponding to teletypewriter speeds of 60, 75, or 100 words 
a minute. 

TWX Service. Teletypewriter Exchange Service, called "TWX 
Service," provides direct connection between manually or tape-oper- 
ated typewriters at several points. A message charge includes an initial 
period of three minutes and a surcharge for each additional minute. 
Transmitting and receiving equipment at each station is rented on a 
monthly basis. Maximum transmission speed of TWX is 360 characters 
a minute. If service is used an hour or more a day between two points, 
a private wire connection may be more economical. For some users, 
regular teletypewriter and TWX service may not be suitable as the 
chief means of data transmission because they do not provide auto- 
matic error detection. 

Telemeter Service. Telemeter service provides a direct connec- 
tion between two or more points. The maximum speed of Telemeter 
service is 390 characters a minute; but the average rate may be lower 
because of joint participation by patrons in one assigned channel. 



148 AUTOMATIC EQUIPMENT 

A per-word charge applies to the first 15,000 words transmitted 
each month; additional messages are sent free. Transmission in excess 
of 50,000 words a month may be handled more economically by private 
wire. Transmitting and receiving equipment at each station is rented 
for a fixed monthly fee. 

Private Wire Service. An economical plan to transmit a large vol- 
ume of data may be to lease a private telegraph or telephone wire. 
Charges depend on miles of wire leased and time of day or night used. 
Transmitting and receiving equipment for private wire service is rented 
on a monthly basis. 

Transmitting Devices 

Transmitting and receiving equipment can handle paper tape, 
punched cards, and magnetic tape over telegraph and telephone 
circuits. 

Paper Tape. Five-channel tape is standard for use with telegraph 
equipment. Tape data can be transmitted directly over telegraph wires. 
The Teletypewriter, Figure 4-18, accepts and automatically transmits 



w 






■ fit 


w 




s F£ «s ~r ie re ik/ 


«_) 


•sf 1 O *sf \ 


^X^T" 








— * 


f^y. ' ./§'$ 






":,:%:■ -, 




V ^ # 


k m Sm m m |» 






■ 






IP 




Figure 4-18. Teletypewriter 



INPUT-OUTPUT EQUIPMENT 



149 



five-channel tape and produces a typed copy of data transmitted, if 
desired. The keyboard can be operated manually for direct, although 
slow, transmission. Data are prepunched in tape for higher-speed trans- 
mission. Receiving equipment either prints messages or re-perforates 
them into paper tape, or both. Transmission speed is 100 characters 
a minute. 

Friden, Inc., makes a device called Teledata which transmits, 
receives, and checks data coded in five- through eight-channel punched 
paper tape. As data in punched paper tape are transmitted through 
the reader they are simultaneously re-perforated and checked on the 
punch of the Teledata unit located at a distant point. For five-channel 
tape, parity checking is made by words or groups of characters be- 
tween space codes. Six- and eight-channel tape permits single and 
double parity checking. The equipment operates in full duplex mode 
(transmitting and receiving simultaneously) or half duplex mode (trans- 
mitting in either direction but not at the same time). Transmission 
speeds are 261 to 600 codes a minute depending on the commercial 
telegraph channel grade (60, 75, and 100 words a minute) that is used. 

Punched Cards. Data on punched cards can be transmitted and 
received directly over telegraph or telephone wires by Transceivers, 
manufactured by the International Business Machines Corporation. 




> w 



Figure 4-19. Transceiver 



150 AUTOMATIC EQUIPMENT 

A Transceiver (see Figure 4-19) operating over telegraph circuits trans- 
mits 3 to 5 fully punched cards a minute. Operating over telephone 
circuits, a Transceiver can send 11 fully punched cards a minute. One 
telephone circuit can handle four units at the same time so that 44 
fully punched cards can be transmitted every minute. Card output is 
increased proportionately if fewer columns are punched in each card. 
The Transceiver has self-checking features for malfunction detec- 
tion to assure the degree of accuracy necessary for accounting and 
computing. 

The Collins Radio Company makes a Kinecard Converter for re- 
producing and transmitting data in standard punched cards at a rate 
of 100 cards a minute. Used in conjunction with a card-reader-punch 
unit, the converter translates the pulses and applies them to the eight 
channels in the transmitting terminal equipment. Pulses from the eight 
channels are stored in a converter at the receiving terminal until suffi- 
cient data are available to supply to the card-punch unit. Malfunctions 
in data assembly and transmission are detected by odd and even parity 
checks on each card, and defective cards are isolated by offset stacking. 

Magnetic Tape. Remington Rand has developed a Transrecorder 
for transmitting data recorded on magnetic tape. It reads data from 
magnetic tape, transmits the data over telephone wires, and records 
the data on magnetic tape at the destination. The transmission speed 
is 6,000 characters a minute over commercial telephone channels rated 
at 3,000 cycles per second. 

The Collins Kineplex magnetic-tape transmission system converts 
data recorded on magnetic tape into audiotones for transmission over 
voice-quality telephone circuits. Receiving equipment reproduces a 
duplicate of the original tape, and tapes may be transmitted in either 
direction. Transmission is over four tone channels — 935, 1,375, 1,815, 
and 2,255 cycles per second — and each tone is encoded with data from 
two channels to get eight data-transmission channels. Each of the eight 
channels handles 300 bits a second for a total rate of 2,400 bits a second 
or about 21,000 characters of 7 bits each per minute. 

Two units are used for handling tape and for translating digital 
data into audio tones for telephonic transmission. The system operates 
at tape speeds of 1.5 or 3 inches a second for IBM magnetic tape and 2, 
3, or 4 inches a second for Univac magnetic tape. Fast forward and 
reverse tape speeds for editing and rewinding of tape are provided. 
Automatic error checking and correction are obtained via lateral and 
longitudinal parity-bits. The longitudinal parity-bit (along the chan- 
nel) which is generated before data are transmitted (if it is not already 
on tape) adds just enough repetitive data, called "redundancy" for 
short, to reproduce data at an error rate of 1 every 10 5 bits; these errors 
are caused by interference on the voice circuits. Transmission errors 



INPUT-OUTPUT EQUIPMENT 151 

are detected and the record containing the error is automatically re- 
transmitted. After three attempts, the machine halts, if still unsuccess- 
ful, to enable the operator to decide what to do. 

A telephone handset is associated with the Kineplex signaling 
equipment in order to supervise the communication system when data 
are not being transmitted. The handset has buttons for signaling the 
remote terminal, for monitoring the audio signal, and for selecting 
either the data-transmission or voice mode of operation. 

If transmitted data are needed in readable form only (as in reports, 
checks, or statements) a printer may be directly connected to the trans- 
mission facility. 

SELECTION OF INPUT-OUTPUT SYSTEM 

Many characteristics of the input-output system — scope of busi- 
ness applications, type of processing, rate of change, time schedules, 
geographical origination, report requirements, and accuracy required 
for output — influence the types and combinations of input-output 
equipment that should be selected for efficient operations (Gibbons, 
1957). Figure 4-20 summarizes the relationship between various kinds 
of available input-output equipment, only a few of which would be 
used in any particular system. Some of the more important considera- 
tions in developing an efficient input-output system deserve discussion 
at this point. 

The scope of business systems covers many activities and func- 
tions. Data may originate in various forms. Punched cards may be best 
suited for collecting data at one point, while paper tape is best for 
another. Specialized equipment may be efficient for handling large 
volumes of repetitive data that originate on one medium and which 
can be brought to one point for mass processing. 

The type of processing involved influences selection of input- 
output equipment. Engineering and scientific calculations often in- 
volve relatively small amounts of input data. The computer performs 
complicated and time-consuming operations with them, so that rela- 
tively slow input and output equipment may be adequate. Most busi- 
ness-data-processing applications, on the other hand, involve large 
amounts of input and output data; computation as such being less 
important, efficient use of the computer requires high-speed input 
and output facilities. The processing of business data can be done effi- 
ciently with input and output facilities of higher speed than would be 
necessary or desirable for handling engineering and scientific problems. 

Preliminary processing outside the computer is often justified, 
and input system design should exploit this possibility. Sorting a large 
amount of data may be done more economically on punched cards than 



U O ^ a- 2 i- uj 



a 

D 
Q. 

<v 

c 



oo 

00 (1) 

C <u 
D g)-g 

<D *" 
§.-0 0, 

!?JL 

aJ a> *■ 
c -c ^ 

< a. ql 



<u 

X 

«: 

■o 

c 
o 

OO t/> 

-o -o 
h i; «» 
D O <D 

° ° n 
Ti -° -Q — 

3 >s >s Q_ 

=> V <D 

c ^ ^ 
D 



to 

'c 

D 

«) $ m 
- Q. CD 



o o 



■ - o g- 





l 00 




O) "O 


00 


1 8 ° 

<D E o 


0) 

> 


magn 

pe to 
ape 
pe to 


o 
U 


o ° o 




Care 
ta 

Pape 
ne 

Pape 





a 
o o B 

.y .y^ o 

l"2|8.t; 

o>8o>cl"S 
o o o 
^ ^ U 



3 

o 
3 

S 




on 










<D 










u 




oo 






> 




C 






<D 











Q 




1— 




OO OO 


D 

o 




c 

o 




pewrite 

ceivers 

recorde 


■4— 

3 

o 




o 

u 




a) 

c 
!_ i 




c 




>o OO 00 


oo 

CD 


D 

E 
E 
o 
U 


00 


elet 
ran 
ran 


o 


C 
Cl 


1 


H- t- H- 



INPUT-OUTPUT EQUIPMENT 153 

on magnetic tape. The cards can be sorted and read in either directly 
or after conversion to magnetic tape. This is not to say that data al- 
ready on tape should be converted to cards for sorting, returned to 
the computer, and processed further. Some factors other than econ- 
omy of sorting are important. Sorting data with computers is often 
quicker than with punched-card equipment. The experience of some 
computer users shows that computer sorting is both more accurate 
and less expensive than punched-card sorting. 

Furthermore, computers do a better job than punched-card equip- 
ment at editing input data for accuracy and plausibility. Faulty data 
can be screened out before they enter the main processing stream. 
Over-all efficiency can be improved by isolating mistakes in the early 
stages of processing. 

The rate of change — the activity of items in files — may vary from 
a very small percentage to a large one each time a file is processed. 
Examples of highly active files are payrolls, which must be completely 
updated each pay period, and checking accounts at banks, which are 
updated daily with perhaps half of the accounts showing new transac- 
tions. At the other extreme, some files are essentially dead — a cemetery, 
for example, adds to its list of patrons names that are never eliminated. 

Some systems involve processing a small number of transactions 
against large files of data. If files are kept on magnetic tape, the na- 
ture of the input-output equipment is fixed. A relatively large amount 
of new data may be processed against small files. If so, lower-speed 
files may serve, although magnetic tapes are commonly used. 

Time schedules may be loose enough that off-line input and out- 
put are adequate. On the other hand, current information may be so 
critical for successful operations that on-line input and output are 
imperative. Timely information can often be traded off against other 
factors to improve operating efficiency. In some cases, the value of 
getting immediate information can be overemphasized. Other fruitful 
methods for improving operations should be considered before adopt- 
ing equipment which will require people to "hurry up and wait. 

The geographical distribution of operations and data-processing 
activities should affect the choice of communication facilities. Wide- 
spread operations and centralized data processing may require a large 
communication network for the mass flow of data. If time schedules 
permit, mail may work as well as an elaborate wire transmission system. 
The point is often overlooked that high rates of data transmission can 
be achieved by messenger, air mail, or surface mail. 

Requirements for reports vary greatly: the volume needed ranges 
from small to large; the number of copies may be few or many; the 
content and format may be strictly repetitive or wholly unpredictable. 



154 AUTOMATIC EQUIPMENT 

Routine reports and documents may require a great amount of off-line 
printing. Although work scheduling is relatively easy, deadlines are 
supposed to be met. 

The questions to be answered by reports may be unpredictable 
either because of timing or contents. Intermittent questions to be an- 
swered by interrogating the file may be accumulated until the next 
processing run and the answers obtained routinely. If quicker answers 
are necessary, on-line keyboard devices may be used to interrogate 
files. Questions that were not anticipated when designing the data 
system may require analyzing the data in some new fashion before 
answers are possible. Many questions not originally anticipated cannot 
be answered at a reasonable cost, if at all. Such questions often place 
greater demands on processing procedures than they do on input- 
output facilities. 

It is generally thought that perfectly accurate output — no dis- 
crepancy between the results obtained and the true results — should be 
obtainable. Accuracy can be increased by providing enough capacity to 
handle both the message and the mistakes that arise — erroneous char- 
acters, dropped digits, lost messages, and transpositions. If a system 
with sufficient capacity is efficiently used, it is possible to detect and 
even to correct mistakes in data origination, transmission, calculation, 
and output. Increased capacity for accurate data processing can be 
obtained using more sophisticated codes, more elaborate equipment, 
and better channels. In the final analysis, the quesion of what degree 
of accuracy is warranted must be answered by balancing the cost of 
achieving greater accuracy against the cost of using inaccurate results. 

The problems involved in achieving a high degree of accuracy in 
communication deserve some elaboration here. Various methods are 
used to try to assure that the message received is identical to the one 
transmitted. The idea of transverse and longitudinal parity-bits or 
check sums may be extended to include duplicate transmission of part 
or all of a message. For example, numbers may be repeated after the 
body of the message, as is done for commercial telegrams. Numbers 
may be given in numerals and also spelled out, as in bank checks — 
"270.30" and "two hundred seventy dollars and thirty cents." Each 
of these schemes attempts to overcome "noise" in the communication 
channel by including enough redundancy or repetition in the message 
so that it can be understood even though some of the message is 
garbled. A check that is written "230.70", "two hundred seventy dol- 
lars and thirty cents" is valid and will be paid according to rules that 
specify the precedence of letters over numerals in case of discrepancy. 

Some communication schemes increase redundancy still further by 
means of duplicate transmission in opposite directions. Point A trans- 
mits to point B which then re-transmits to point A, where the messages 



INPUT-OUTPUT EQUIPMENT 155 

making the round trip are compared for discrepancies. This is an ex- 
ample of the "transponder" scheme for assuring accurate transmission 
by means of an immediate response from the receiver. Quick detec- 
tion of mistakes in transmission, as reflected by discrepancies, increases 
the effective amount of data transmitted (the number of characters 
received that have a high probability of being correct), for equipment 
and line malfunctions are detected as soon as they occur. Transmission 
is repeated if the trouble is only temporary. If repeated transmission 
does not give two messages that check as identical, the equipment or 
lines need servicing. The transponder scheme, like other plans for try- 
ing to get accurate transmission, has certain costs associated with it. 
Here a return circuit is used as much as the forward circuit, if the trans- 
mission speeds are the same in both directions and the response in- 
cludes the whole message. 

Two general points are worth considering. The first is that every 
scheme for trying to improve the accuracy of data transmission in- 
creases costs, because more capacity (through use of elaborate codes, 
better equipment and lines) is required to accommodate noise while 
still transmitting the message. A second point is that there is never 
complete assurance that the message received is identical to the mes- 
sage as it originated; there are only varying degrees of probability 
that the input and output messages are identical. In other words, per- 
fectly accurate transmission probably costs an infinite amount of 
money. The optimum degree of accuracy to achieve in data trans- 
mission is reached when the costs incurred in raising the level of 
accuracy increase faster than the benefits derived from greater ac- 
curacy. The cost and value of accuracy are discussed more fully in 
Chapter 10. 

It is clear that many factors affect the selection of input and output 
facilities. A mixture of facilities, rather than one type, is often useful. 
Detailed and complete knowledge about the data to be used and the in- 
formation needed from them should precede system design. 

SUMMARY 

Automatic data-processing systems require well-designed input, 
output, and communication facilities. 

Input devices supply machines with data in a form suitable for 
processing. The pre-input stage bridges the gap between visually read- 
able and machine-processable data. Often, people operate keyboards 
to punch cards and paper tape or "write" on magnetic tape. Machine- 
processable data may be a by-product of typing hard copy. Accuracy in 
pre-input operations is obtained by reading back against copy or by 



156 AUTOMATIC EQUIPMENT 

duplicating the operations and comparing the results. Data-prepara- 
tion costs can be reduced and accuracy increased by preparing data in 
advance so that they will serve as output at one stage and as input 
at a later stage. Tag readers, transaction recorders, and character 
readers mechanize pre-input operations, reducing the manual work 
and improving the quality of data. 

On-line input devices read in the data which have been prepared. 
Magnetic-tape units have the highest read-in speeds, although the 
slower punched-tape and punched-card units are widely used. Manual 
keyboards are used for limited input and for on-line interrogation. 
Also, keyboards used in parallel speed up data input and file interroga- 
tion. Notched plates may be used to supply fixed data. 

Output equipment and operations are similar to those involved in 
input. High-speed devices — magnetic tape and some printers — may be 
operated on-line. Lower-speed devices are often operated off-line with 
magnetic tape used as intermediate storage. On-line electric typewriters 
print the computer operating log and instructions for the console 
operator. 

Input and output converters change media from one form to an- 
other. Conversion from magnetic tape to punched cards and then paper 
tape may be useful in some situations. 

Mechanical printers can be classified as single-character and line- 
at-a-time devices. Typewriters are useful for limited output. Line- 
at-a-time printers operate in the range of 100 to 1,000 lines a minute. 
Electron-optical printers deliver output at rates of 10,000 to 20,000 
characters a second. Images on the tube face may be photographed 
and printed later or printed immediately by xerographic methods. 

Communication facilities are necessary to link together a wide- 
spread organization. Telegraph and telephone lines are available at 
either per-message or leased-wire rates. Commercial or short-wave 
radio may be used. Station equipment handles data at speeds of hun- 
dreds to thousands of characters a minute. Transmitting devices in- 
clude paper-tape, punched-card, and magnetic-tape senders and re- 
ceivers. 

Selection of an efficient input-output system depends on the char- 
acteristics of the application as well as on the equipment that is avail- 
able or can be designed to meet special requirements. The operating 
speeds given in this chapter are merely indicative of what is available 
and will increase as new equipment is developed. Factors to consider 
in setting up a processing system are the scope and type of processing, 
file activity, time schedules, geographical spread, reporting require- 
ments, and accuracy required for output data. 



INPUT-OUTPUT EQUIPMENT 157 

REFERENCES AND SUPPLEMENTAL READINGS 

Dimond, T. L. "Devices for Reading Handwritten Characters,'' pp. 232-37 in 
Proceedings of the Eastern Joint Computer Conference: Computers with 
Deadlines to Meet, New York, The Institute of Radio Engineers, 1958. This 
article describes the development of a scheme for encouraging people to 
write numerals and letters with enough care to permit machine reading. 
A device called "Stylator" can be used to "read'' a character while it is 
being written. The output from reading handwritten material can be used 
for processing in any form desired. 

Fitzgerald, E. L. "Computers With Remote Data Input,'' pp. 69-75 in Pro- 
ceedings of the Eastern Joint Computer Conference, New York, The In- 
stitute of Radio Engineers, 1956. Fitzgerald deals with the status in 1955 
of remote input for commercial data-processing installations. The areas 
considered are (a) electromechanical recording of data on a storage medium 
at a remote geographical location, (b) transmission of data to a central lo- 
cation, and (c) conversion of transmitted information to a form suitable 
for computer input. Applications fall into one of three categories: (a) high 
time value of input, (b) economy brought about by central processing 
despite transmission costs, and (c) uniform cutoff dates allowed by remote 
input applications despite geographical separations. Order and sales statis- 
tics, engineering calculations, and construction-site payroll applications 
are discussed. Equipment involved includes devices for transmitting 
punched paper tape over private or common carrier wires, and punched 
cards over teletype or full-voice frequency telephone lines. Other equip- 
ment will convert from punched paper to magnetic tape, and vice versa. 
Magnetic-tape transmission over telephone circuits, with validity checking, 
should be available soon. Accurate transmission is difficult to achieve, but 
additional work is being done to improve accuracy. Remote programming 
is feasible and will become more attractive if noun and verb pseudo-codes 
are developed. 

Gibbons, James. "How Input/Output Units Affect Data-Processor Perform- 
ance,'' Control Engineering, vol. 4: 97-102 (July 1957). The relationship 
of input-output devices to the over-all performance of a system is discussed 
in this article. Considered first are devices for (a) recording data onto ma- 
chine-processable media, (b) converting data from one medium to another, 
(c) reading data from media into the computer, and (d) recording data from 
the computer onto media or in a printed form. Tables are presented in- 
dicating such factors as (a) maximum number of on-line units, (b) reading 
and recording speeds, and (c) checking features for punched-card and mag- 
netic-tape input-output devices used with presently available computers. A 
case study of the IBM 650, which has grown from a "moderate perform- 
ance'' to a "powerful'' unit by recent changes in its input-output devices, 



158 AUTOMATIC EQUIPMENT 

is presented. An examination of several small-scale systems reveals that they 
can be distinguished from medium-size computers by limited input-output 
facilities even though they may have nearly comparable computing ability. 
To illustrate the compatibility problems involved with some input-output 
equipment, the punched-card input-output system for the Datatron is ex- 
amined in detail. Problems of converting from punched-card to computer 
code, of organizing card data into computer words, and of developing 
checking schemes are considered. 

Harrell, R. L. "The Role of Character-Recognition Devices in Data-Process- 
ing Systems," pp. 54-68 in Proceedings of the Fifth Annual Computer Ap- 
plications Symposium, Chicago, Armour Research Foundation, 1959. This 
article describes several systems using coded marks (Stanomatic, Heidinger, 
Hofgaard, and Broido) and some using "readable" characters (RCA, ABA, 
and IMR). The merits of magnetic and optical scanning are discussed. 
Reader s Digest Book Club's use of a character reader for reading typed 
data and punching selected coded data in the same card is described. 

Hosken, J. C. "Survey of Mechanical Printers," pp. 106-12 in Proceedings 
of the Eastern Joint Computer Conference: Review of Input and Output 
Equipment, New York, American Institute of Electrical Engineers, 1953. 
This is a short summary of available mechanical printers and a preview 
of some new ideas that should be implemented shortly. Five general cate- 
gories existing in output printers are discussed: (a) single action, one char- 
acter at a time, like the Flexowriter; (b) line-at-a-time printers, like printing 
calculators or punched-card tabulators; (c) "on-the-fly" machines using re- 
volving type wheels and synchronized hammers, like the synchroprinter by 
Anelex; (d) machines forming characters from a matrix of dot-producing 
hammers, like the Burroughs printer; and (e) bar and helix machines used 
in facsimile devices. Hosken points out that until recently one of the signifi- 
cant bottlenecks in data-processing systems was slow output equipment. 
The equipment now available is sufficiently fast, but it is expensive to buy 
and use. The problem for the engineers to solve is to find cheaper ways to 
print at high speeds. 

Taylor, J. C. "Data Collection as a By-Product of Normal Business Machine 
Operation," pp. 34-41 in the Proceedings of the Western Joint Computer 
Conference, New York, The Institute of Radio Engineers, 1955. This paper 
sets forth an explanation of an automatic system for collecting data on 
punched paper tape as a by-product of normal machine operation. The 
example used is the recording of data pertaining to merchandise sales in a 
department store. Cash registers can be equipped (a) to read garment tags 
previously punched to show style, size, season, price, and so forth; and (b) 
to transfer this information to punched paper tape. The information re- 
corded on punched paper tape at the point of sale can be used later for pro- 
cessing as desired. The scheme described by Taylor is one proposal for 



INPUT-OUTPUT EQUIPMENT 159 

getting information into a mechanically processable form at the first pos- 
sible moment, the point when the transaction occurs, and for eliminating 
any need for manual copying. 

Tersoff, Abraham I. "Automatic Registration in High-Speed Character 
Sensing Equipment," pp. 238-42 in Proceedings of the Eastern Joint Com- 
puter Conference: Computers with Deadlines to Meet, New York, The In- 
stitute of Radio Engineers, 1958. This article describes high-speed char- 
acter sensing by means of a two-dimensional photo scanning system, as 
successfully used in many analyzing readers. Emphasis is placed on the 
problem of automatic registration to cope with the variability of typing 
on mail for automatic reading and sorting. 



CHAPTER FIVE 



STORAGE 



People use various methods to store data: their memories, "little 
black books,'' notebooks, organized lists of transactions (journals), 
summaries by items (accounts), files, and libraries. Wide ranges of 
data capacity, organization, waiting time, retention period, and cost 
exist for storage systems. A perfectly ideal storage system should pro- 
vide: unlimited volume, all methods of organization, zero waiting 
time, indefinite availability, and no cost. Such storage is obviously 
in the "blue-sky'' class. 

Some storage methods possess several features of an ideal system. 
The human mind seems to involve almost no waiting time, although 
people often take time to recollect. The mind performs prodigious 
feats of organizing facts and does so at little or no cost. But capacity 
and retention time are limited and people often forget critical facts. 
Libraries, on the other hand, provide for indefinite storage of huge 
quantities of data; but the organization is inflexible and the waiting 
time often annoys users. The cost of storing each unit seems low; but 
the total costs are big enough to disturb librarians. 

The point is that a great variety of storage methods is available. 
No one method is ideal; but a mixture of methods may be used to fill 
a particular need. A compromise is usually made between the high 
cost of an ideal system and the amount of money available to buy stor- 
age facilities. Small amounts of high unit cost and large amounts of 
low unit cost storage may be used together to fill a need. Similar com- 
ments about data-storage facilities apply to business-data systems. 
Numerous storage methods are available, but none is ideal. A com- 
promise is reached between what is desirable and what is economical. 
Furthermore, storage capabilities must be in balance with the proc- 
essing ability of other equipment components. 

The topics discussed in this chapter are the characteristics of data 
storage, storage devices, and the selection of storage methods. 

160 



STORAGE 161 

CHARACTERISTICS OF DATA STORAGE 

The characteristics of data storage include the ways that data 
are represented, methods of getting at stored data, and features of 
storage units — waiting time, cost, capacity, erasability, and duration 
of the storage period. 

Data Representation 

Most storage units use the binary scheme for storing data. Nu- 
merical computers use 4 bits for one decimal digit. Many alphanu- 
merical computers designed primarily for business applications use 6 
bits for a letter, numeral, or other symbol. The 6 bits allotted to an 
alphanumerical character are partly wasted when used to store a nu- 
meral, because a decimal digit requires only 3.3 bits in the binary 
mode. 

Some numerical computers combine the 8 bits of 2 numerals to 
store one letter; but this "two-for-one" scheme wastes storage. Another 
scheme, called "three-for-two," is to store 2 letters in the 12 bits that 
could represent 3 numerals. Some newer computers represent numbers 
in the binary mode but use groups of 6 bits for alphabetic data; in this 
way, a binary word represents a number without wasting any bits but 
can still be used for an alphabetic character as efficiently as a machine 
with six-bit binary-coded alphanumerical mode. The compactness of 
the binary scheme for numbers usually requires the conversion of num- 
bers from decimal to binary when they are first handled. After the num- 
bers are converted, the binary form may be retained throughout all 
processing until the final output stage, when a conversion from binary 
to alphanumerical mode is required. All of the schemes for tightly 
packing either numerals or letters into the same storage space involve 
special operations at some point. 

Addressability 

A storage unit may be designed so that numerals and letters can 
be stored at identifiable locations. Storage locations must be known 
if their contents are to be found quickly. If storage locations are not 
specified, some type of scanning or searching through a file is required. 
In some cases, a combination of specified locations and searching or 
scanning is used to find the contents of storage. 

Each location in certain kinds of storage is assigned an "address." 
Computer programming must deal with the problems of putting data 
into storage and obtaining data from storage. Automatic programming 
schemes use the computer to assist the programmer in keeping track 
of the storage locations assigned to program instructions and to data. 
In fact, the programmer can use symbols, such as "NAME" and 
"ADDRESS," in his program to refer to the storage locations that 



162 AUTOMATIC EQUIPMENT 

contain the name and address items in a record. Symbols used to refer 
to storage locations are called "symbolic addresses.'' The computer, 
following a program written especially for the purpose, can replace 
symbolic addresses with absolute addresses (numbers like 020, 021, 
022); this makes it possible to execute a program originally prepared 
with symbolic addresses. In this way a programmer can refer to an 
item in storage by an explicit symbol even though he does not know 
where it is. He need not worry about where an item is located in storage 
so long as it is actually there, and he knows how to get it. The idea 
of symbolic addressing is not new; banks that encourage banking-by- 
mail claim that they are as near as your mailbox, and, for many pur- 
poses, you can act as though they were located at the mailbox. Small 
children may be certain that milk comes from bottles and not from 
cows. The mail box and the milk bottle are, in a sense, symbolic ad- 
dresses for the real addresses of the bank and the cow. 

The number of characters referred to with an address is different 
for fixed and variable field-length computers. Computers designed 
with a fixed word-length would use one address to refer to a word of 
8, 10, or 12 characters. Computers designed with a variable field-length 
feature, on the other hand, use an address to refer to one character. 
Every character could be addressed, if desired. Either the first or last 
character of a field is usually addressed, according to the equipment 
design, and the other end of the field is indicated by a special mark. 
The special mark may be a separate character or may be combined 
with the extreme character in the field. Even in variable field-length 
computers, instructions are likely to have a fixed length of five or six 
characters and so resemble fixed word-length storage. 

Mode of Operation 

"Mode of operation'' refers to the way — either serial or parallel — 
that bits, characters, and words are read in or out of storage. In the 
serial mode, data (bits, characters, and words) are read one after 
another in a time sequence. In the parallel mode, the bits are read 
simultaneously. 

A combination of the two modes may be used. On magnetic tape 
the bits in a character are usually read in parallel, and characters that 
make up a word are read serially — this combination of modes is called 
"parallel by bits and serial by character." If storage and arithmetic 
unit modes are different, data go through a buffer for modification as 
required. 

It is interesting to observe the mode of operation of several de- 
vices. An office typewriter produces characters serially and is limited 
to a few hundred characters a minute. A Stenotype machine used by 
court reporters for typing words and even phrases at one time (the 
characters are typed in parallel) has speeds of several hundred words a 



STORAGE 163 

minute. Telegraphic transmission is usually serial by bit (as dot follows 
dash) and by word; but some telegraph systems were built with 26 
lines, so that the whole alphabet could be transmitted in parallel if 
the sender and receiver could handle the higher speed. Telegraphic 
transmission had a higher potential speed by parallel transmission 
in the early days than it does at present with serial transmission. The 
efficiency of transmission — measured in terms of actual use of potential 
capacity — is higher for the serial scheme. 

The problem of serial versus parallel operations is, like most 
others, resolved in terms of economics. The question is whether the 
increased speed achieved at a particular stage by using more equip- 
ment to get parallel operations is worth the cost of the additional 
equipment. 

Features of Storage Units 

Capacity, access time, cost, erasability, and volatility are im- 
portant features of storage units. These features must be considered 
when trying to match equipment to the applications required of it. 

Capacity. The capacity of a storage device is expressed as the 
number of bits, decimal digits, characters, words, or fields it can store 
at one time. Each of these units is used under varying conditions. Con- 
version from one unit to another is necessary in comparing storage 
capacities. 

Effective capacity for storage with a fixed word-length is often 
less than stated capacity, because short words in the data waste some 
of the space allotted to a storage word as designed by the engineer. 
On the other hand, packing two short words of data into one storage 
word saves space, but may increase processing time. Long data words 
may occupy part or all of two storage words. The loss of storage is 
small if storage is used mainly to hold program instructions that are 
essentially the same length, each of which just fits into one word. 

A variable field-length computer, on the other hand, uses mini- 
mum space to store each item of data, but raises some problems of 
how to keep track of where each field is stored. 

Access. Access time is the length of time between a call for data 
from storage and completion of delivery. Some computers with mag- 
netic core storage have access times as short as three microseconds; 
most are in the range of six to twenty microseconds. Access time for 
any data in a magnetic core storage unit is constant. Such high speeds 
are obtained because data in core storage are directly addressable; no 
mechanical movement, which is much slower than electric switching, is 
involved. 

In other kinds of storage units the elements move serially past 
read-write heads until the desired address or item is found. One 



164 AUTOMATIC EQUIPMENT 

method is to count timing pulses to find a storage location. Magnetic 
drums and disks use this plan. Average access time, as described below, 
for data on drums ranges from a few to fifty milliseconds. Average 
access for data in disk storage runs from 100 to 800 milliseconds. 

Another method for getting access to an item involves scanning 
the data because there is no specified address. The data on magnetic 
and paper tape, for example, are scanned until a desired item is found. 

Minimum access time is the length of time required to get data 
from the storage location that is most quickly available. Maximum 
access time applies to the least readily available storage location. The 
range from minimum to maximum may have an important effect on 
programs to operate on data in storage that are arranged and searched 
serially. 

The average of the minimum and maximum access times is a better 
indicator of real access time. If a high fraction of the operating pro- 
gram involves obtaining data from or placing results in storage, short 
access time is desirable. Frequently used data should, if feasible, be 
placed in minimum-access locations. 

Cost, Capacity, and Access. The three factors of cost, capacity, 
and access are closely inter-related. A storage device with a short access 
time costs more per unit of storage to build than a device with a long 
access time. Most systems, therefore, have a limited amount of quick- 
access storage. A large-capacity storage device at reasonable cost is 
associated with longer access time. 

Erasability and Volatility. "Erasable" means that stored data 
can be removed and replaced by new data. All magnetic and electronic 
storage devices have the erasability feature. 

"Volatility" in this instance means that stored data are lost when 
power is stopped; but this feature need not be critical. Ordinarily, 
lost data may be recomputed at low cost from original data, or inter- 
mediate results can be stored as a precaution. Most of the newer storage 
devices are non-volatile. Interestingly, some computers designed for 
military purposes are required to have volatile storage for security 
purposes. The contents of storage can be destroyed whenever advisable. 

STORAGE DEVICES 

Two or more levels of storage are used in every data processor 
to try to achieve an efficient balance between access, cost, and capacity. 
Storage with quick access costs more per unit than storage with slow 
access. Most computers are, therefore, designed with larger capacity, 
slow access storage. 

For large-scale data-processing equipment with three levels of 
storage, the terms "internal," "secondary," and "external" are widely 



STORAGE 



165 



used. These names would be more consistent if modified slightly to 
"internal primary," "internal secondary," and "external" storage; 
but the original forms are too widely accepted to change them here. 
The distinction is often vague and has some aspects of "now-you-see- 
it, now-you-don't" because a larger processor may have a device classi- 
fied as "secondary" storage that would rank as the primary storage if 
used for a medium processor. Furthermore, storage devices are down- 
graded as new devices are invented. If you prefer some other set of 
names to the three — internal, secondary, and external — used here to 
cover the hierarchy of storage devices, you are free to substitute them. 
Internal, high-speed storage holds the program and data currently 
in use within the computer. Secondary storage provides a relatively 
large volume of data for the computer at moderate access speeds. Ex- 
ternal storage holds data that are in a form suitable for processing 
but that are not being actively processed. Similarities and differences 
of these three classes of storage are shown in Table 5-1. 

Table 5-1. Classes of Storage Devices 





Integral 


Connected 


Holds Informa- 






Physical 


to and Con- 


tion in Form 




Type of 


Part of 


trolled by 


Prescribed for 




Storage 


Computer 


Computer 


Computer 


Examples 


Internal 


Yes 


Yes 


Yes 


Magnetic core, 
drum 


Secondary 


No 


Yes 


Yes 


Magnetic drum, 
disk, tape, 
tape bin 


External 


No 


No 


Yes 


Magnetic tape, 
wire, punched 
card, paper 
tape 



Internal Storage 

Internal storage facilities form an integral part of the data proc- 
essor circuit-wise, although the storage unit may be physically sep- 
arated from the processor and located in another unit. Internal storage 
is directly controlled by the processing unit and includes the total 
storage that is accessible automatically to the computer. 

Internal storage holds the program that is being used and the 
data involved in processing. The storage locations are addressable 
either by word or by field, which may be as short as one character. 
The data are read directly from internal storage to the arithmetic and 
control unit for processing. 



166 



AUTOMATIC EQUIPMENT 



The access time for internal storage is short, but capacity is limited 
because internal storage to hold one bit costs about half a dollar. 
Magnetic cores and magnetic drums are common internal storage 
devices. The acoustical delay lines and electrostatic tubes used in early 
computers are no longer being designed into new computers. 

Magnetic Core. A magnetic core is a tiny, doughnut-shaped 
ring of ferrite capable of retaining either one of two magnetic states. 
Magnetic cores are placed where "write" wires cross to form a grid. 
A magnetic-core memory plane is shown in Figure 5-1. Electric current 
passed through a horizontal and a vertical wire goes through each 
core, but only one core at the junction of the two wires gets sufficient 
electricity to change its magnetic state. Other cores along each one of 
the two wires remain unchanged. A current passed in one direction 
through the wires magnetizes the core; a current sent in the opposite 
direction along the wires reverses the core's magnetic state. One state 
represents a 1, the other a (Fowler, 1956). 




Figure 5-1. Magnetic-core storage plane and assembly 

A third "feeler" wire that passes through every core reads the 
magnetic state of a core when current is sent along both "write" wires 
in the core that is to be read. The attempt to read causes the core to 
assume the state. If the core is already in magnetic state 0, no current 
is induced in the feeler wire. But if the core is storing 1, its state will 
be reversed by the current passing through the write wires, and a signal 
will be induced in the feeler wire. The magnetic state of the core is, 
in effect, "read." Since reading changes the magnetic state of a core, 
its prior state must be regenerated by an appropriate write signal. The 
destructive read-out scheme, which requires regeneration of the orig- 
inal state of the core, is inefficient. It is comparable to using a pile 



STORAGE 167 

driver on a tack: the mechanism will work, but it requires straightening 
out the tack after the destructive blow. 

Each core in a plane holds one bit. A plane may have 32, 64, or 
some other number of bits in each direction for a total of 1,024, 4,096, 
or some other number. Many core planes, say 37 or 48, make up a stor- 
age unit. The bits that make up a word are often placed in the same 
x and y position on each plane and read in parallel. Thus a word of 37 
bits may be stored in the cores located in row 9 and column 53 of every 
one of the 37 planes. The 37 bits may be used to store a 36-bit binary 
number and sign, 6 alphabetic characters, or 9 decimal numerals in 
binary-coded decimal form and sign. 

The basic storage capacity of 1,024, 4,096, or perhaps 8,192 words 
in a single set of core planes may be increased by using several storage 
units for one computer. One manufacturer offers from one to seven 
of the 4,096-word packages for a maximum of 28,672 words with one 
computer; another offers from one to four of the 8,192-word packages. 
Modular construction of storage units allows the user to order and 
"plug-in" one or more units to meet his storage requirements. Mag- 
netic-core access time is in the range of a few to 200 microseconds 
(0.000005 to 0.000200 seconds) and is the fastest internal storage de- 
vice in general use. Also, core storage is the most commonly used in- 
ternal storage device in large computers. 

Magnetic-core storage is both erasable and non-volatile. Magnetic 
cores are individually inexpensive but the electronic circuits required 
to use them make them more expensive per bit stored than a magnetic 
drum. 

Twistor Grids. Recent work by the Bell Telephone Laboratories 
shows that the ferrite core placed at the intersection of the wires in 
magnetic-core memory can be omitted. Twisted magnetic wire in one 
direction and plain copper in the other can be used to make a grid. 
A bit can be stored at each junction of the two kinds of wire. A bit 
is "written" by current along two wires that cross to make a magnet 
at the junction. A bit is "read" by sending current along a copper wire 
and measuring the output of a desired magnetic wire. Output depends 
on whether it was previously magnetized. 

Magnetic wires as small as one-thousandth of an inch in diameter 
are feasible. At least 10 bits per inch can be stored on each magnetic 
wire. The fact that the magnetic wires are twisted eliminates the need 
for a magnetic core at each junction. The Twistor grid has access and 
density comparable to magnetic-core planes. 

Magnetic Drum. A magnetic drum is a metal cylinder coated 
with magnetic material. Heads for writing on or reading from the drum 
are mounted in the drum housing and the drum rotates past the read- 
write heads. "Bands" or groups of recording tracks are available 



168 



AUTOMATIC EQUIPMENT 



around the drum for storing data, as shown in Figure 5-2. Heads are 
located close together so there are several bands to the inch across 
the drum. 



Quick 



Control 
tracks 




No. 20 



Figure 5-2. Magnetic drum, schematic 



Each band around the drum is divided into many unit areas per 
inch, each of which stores a bit. A magnetized area represents a 1; an 
area magnetized in the opposite direction, or perhaps left unmag- 
netized, represents a 0. 

A bit is written in or read from a particular unit area as it rotates 
under the read-write head. Access time to data stored on a drum de- 
pends on rotational speed and the location of desired data. The maxi- 
mum access time of a full revolution arises when data that are wanted 
have just passed a reading head. The minimum access is near zero for 
data just coming into reading position when wanted. The average 
access time is equal to one-half of a drum revolution. Average access 
time can be reduced or "optimized" by storing program instructions 
and data on the drum so that a desired location becomes available 
just as it is needed. 

A read-write head is usually located at one point for a data band. 
Data written on the band come into the reading position one revolution 
later. Separate writing and reading heads can be built and placed at 
short intervals around one band. A writing head records data on the 
drum and, a fraction of a revolution later, when the data move under 
the reading head, they are used in processing or returned to the prior 



STORAGE 



169 



writing head. The combination of a writing head, a short space on 
the drum, and a reading head connected back to the writing head 
makes a "revolver loop." Several revolver loops may be used on one 
band around a drum, as shown in Figure 5-3. Revolver loops take more 
electric circuits than one read-write head and waste that part of the 
band which is between two loops; but access time is shorter for data 
kept in loops. Several other versions of the revolver-loop concept are 
used to speed up access to drum storage locations. 

Pulse 
regenerator / 

"4000" 

L4 




Figure 5-3. Revolver loop on a magnetic drum 



Magnetic drums in use today vary greatly in capacity and operat- 
ing speeds. Internal storage drums range from 4 to 12 inches in diam- 
eter and rotate at speeds of 3,000 to 17,000 revolutions a minute to 
give average access times of two to ten milliseconds. Capacities range 
from 10,000 to 60,000 numerical characters. It costs less to store a bit 
on a magnetic drum than on other devices used for internal storage; 
the data are erasable but non-volatile. 

Magnetic drums are frequently utilized for internal storage in 
medium-size computers; but slow access rules them out for internal 



170 AUTOMATIC EQUIPMENT 

primary storage in large computers. The use of "mass storage," slow- 
access drums to provide secondary storage for computers will be dis- 
cussed later. 

Delay Line. A delay line stores data in the form of pulses that 
travel at low speed through some medium. A tube filled with mercury 
is often used as a delay line. A crystal at one end converts electric sig- 
nals into sound pulses representing 1 and 0, and a crystal at the other 
end of the tube converts the sound pulses back to electric signals. Data 
wanted for processing are read out of storage, while unwanted data are 
recirculated through the tube until needed. 

The addresses given to data circulating in delay lines are not phys- 
ically fixed, since the data continue to circulate. A timing pulse is 
circulated in the system as a reference for finding a desired "address." 
Input-output gates remain closed until the desired "address" reaches 
the end of the tube, when the gates open and data can be written 
or read. 

Quartz delay lines also use sound pulses. Other delay lines use 
electric or magnetic pulses — a nickel wire delay line, for instance. A 
mercury delay line tube is about 30 inches long and holds about 180 
alphanumerical characters. Several delay lines may be used together 
to get a capacity of 10,000 numerical characters. Since a pulse takes 
150 to 350 microseconds to travel through a tube, the average access 
time is 75 to 175 microseconds. Delay line storage, being volatile and 
relatively expensive, is not used in recently designed American equip- 
ment, although Ferranti, Ltd., in England uses nickel delay lines in 
some of its computers. 

Combinations. The description of internal storage devices — 
core, twistor, drum, and delay line — implies that each type is used 
by itself. Actually, internal storage includes the total storage auto- 
matically accessible to the computer. Magnetic drums may augment 
cores in large systems. On the other hand, small amounts of core stor- 
age may be used with a drum to increase the operating speed of 
medium-sized systems. 

Secondary Storage 

Secondary storage facilities are not an integral part of the data 
processor, but they are directly connected to the processor and con- 
trolled by it. Although secondary storage, which supplements internal 
storage, is addressable, data are read into internal storage for process- 
ing. It has larger capacity and slower access than internal storage. 

Some secondary storage is called "random access," which, care- 
fully defined, means access to storage under conditions in which the 
next storage location from which data are to be obtained does not de- 
pend on the location of the previously obtained data. In other words, 



STORAGE 



171 



it takes the same time to get where you want to go without regard to 
where you are now. The name, "random access,'' is often loosely used 
to mean a relatively low access time to a large volume of data. Some 
form of random access is imperative for on-line data flow where proc- 
essing is done with minimal delay. On-line data flow and two other 
data-flow schemes — in-line and off-line — are discussed in Chapter 9. 

Secondary storage is important for holding large master files for 
processing transactions that occur in random sequence. Secondary stor- 
age devices are : 

1. Magnetic drum 

2. Magnetic disk 

3. Magnetic tape 

4. Tape bin 



Large Magnetic Drum. Mass storage drums supplement the 
high-speed storage unit in the Univac File-Computer (Welsh, 1957). 
File storage drums, arranged in pairs, hold six million characters. A 
total of 10 pairs holding sixty million characters can be connected. 
Instead of the usual plan of one read-write head for each data track, 
one set of read-write heads may be moved back or forth for use with 
all tracks on a drum. This scheme reduces the amount of equipment 
at the expense of mechanical movement and slower operating speeds. 




Figure 5-4. Magnetic disk 



172 AUTOMATIC EQUIPMENT 

Magnetic Disk. A metal disk with magnetic coating is also used 
for secondary storage. The IBM 650 RAMAC (Random Access Mem- 
ory Accounting Computer) has a disk storage unit. Disks are mounted 
on a rotating vertical shaft as shown in Figure 5-4. Each disk has data 
tracks on both sides. One of three access arms moves vertically to a 
desired disk and straddles it to write on or read from a specified track 
on either side of the disk (Lesser, 1957). 

Disk storage was first designed to operate with 100 concentric 
tracks holding 600 numerical digits. One disk would hold 120,000 
digits so that 50 disks in a unit would hold six million. Up to four 
RAMAC units could be attached to one computer to provide 24 million 
digits of storage. Double density disks have twice as much capacity, 
so that four units store forty-eight million digits. The random-access 
time is 500 milliseconds from disk to disk, but only 222 milliseconds 
between tracks on the same disk. Similar disk storage holding five 
million alphanumerical characters is used with the IBM 305 and other 
computers intended for business use. 

Magnetic Tape. Magnetic tape is a tape or ribbon coated with 
magnetic material. Data can be stored on it as magnetic spots. The 
tape base is Mylar, some non-magnetic metal, or acetate. Since the 
iron-oxide coating must be free from defects for reliable recording, 
the tapes are checked by recording and reading a test pattern of data. 
Some types of tape readers are able to skip defects, which are indi- 
cated by punched holes or in other fashion. Other types will not skip 
defects so that defective tape is rejected or cut into shorter pieces. 
Manufacturers usually guarantee new tape to be defect-free. 

Seven-channel tape is usually l 2 in. wide. Ordinarily, a tape unit 
is designed to handle reels holding 1,500 to 3,600 ft. of tape. Shorter 
lengths are used for data preparation on keyboard devices and can be 
used on the tape readers, if desired. Recording density commonly 
ranges from 100 to more than 500 characters an inch. A 2,400 ft. roll 
can store about three to sixteen million characters. The effective storage 
density is less than the apparent maximum because each inter-record 
gap may be as short as ^2 in. or as long as 23^2 inches. The start-stop 
time enables the tape transport to bring tape up to the rated speed 
before starting reading or writing. A 2,400 ft. tape with 200 characters 
an inch holds as many data as twenty-five thousand eighty-column 
cards. 

Tape-reading speed is generally about seventy-five to one hundred 
and twenty-five inches a second. Effective data-transfer speeds depend 
on tape speed and data density; but transfer rates of 10,000 to 30,000 
characters a second are common. Some tape systems are rated to read 
or write 90,000 characters a second on one tape. Some computers can 



STORAGE 1 73 

simultaneously read or write on two or even more tapes, so that data 
transfer rates are several times as high as for a single tape. 

Reading a 2,400-ft. tape at maximum speed takes about four and 
one-half minutes. The time to rewind a tape when it reaches its end 
ranges from one to three minutes. This time must be counted when 
calculating processing time, because rewinding and demounting tapes, 
which takes another minute, may impede processing. Many tape 
changes are done with little interruption of processing by using an 
alternate tape transport. The next tape will be mounted before it is 
needed so that only a tape "swap" is made to the next reel when the 
end of a reel is reached. 

Effective reading speed is increased in some systems by reading 
tape while moving in either the forward or backward direction. For 
example, in sorting data stored on tape by means of the merging scheme 
to consolidate two or more sequences of data stored on tapes, as de- 
scribed in Chapter 9, output tapes from one pass can be read back- 
wards on the next pass. In this way the merging operation is continued 
with no interruption for tape rewinding. 

Many business-data processors have about ten tape read-write 
units, and some can handle several dozen. The mounted tapes are sec- 
ondary storage, according to the definition used here. The unmounted 
tape files are external storage, as described below. Tapes are mounted 
for processing as required and returned to the tape library for storage 
after processing or for re-use, if the data are no longer wanted. 

Tight processing schedules may require that all tape files be ready 
for processing. Stock management and related operations at Ordnance 
Tank-Automotive Command have rigid time specifications. The Biz- 
mac processing equipment has about 200 tape stations so that all stock 
records on tapes remain mounted on tape transports for immediate 
processing. 

Magnetic tape is durable under ordinary operating conditions, 
for some tapes have been read satisfactorily up to fifty thousand times; 
data on a worn tape can be transferred to a new tape. Maximum tape 
performance involves some precautions in handling. Temperature and 
humidity variations cause magnetic oxide surfaces to crack, dust on 
tape may cause a reading head to miss a signal, and manual handling 
of tape leaves oil and moisture, which catches dust and impairs read- 
ing. Metal tape resists temperature variations and extreme heat better 
than plastic tape. A computer may provide for automatic backspacing 
and rereading of a tape that does not pass the parity test. If the mal- 
function is caused by dust or some other transient reason, then a second 
or third reading will probably be satisfactory. Repeated failure to 
read warrants engineering service for the computer. While the reread- 
ing feature is automatic in some computers, it must be programmed for 



174 



AUTOMATIC EQUIPMENT 



others. Safeguards against exposure to strong magnetic fields, which 
can erase all the data on tape, are necessary. 

A 2,400-ft. reel of magnetic tape costs about $70 while equal card 
storage costs about $27.50. Tape costs less in the long run for tempo- 
rary storage because tape is re-usable. 

Tape Bin. A tape-bin storage unit consists of magnetic-tape 
strips arranged so that a read-write device can move directly to a de- 
sired strip. The reading head then scans that strip to find a record. 
Access is faster than for an ordinary reel of tape, which may require a 
complete search to find a record. An example of a tape bin is a Datafile 
that includes 50 strips of tape, each of which is 250 ft. long (MacDonald, 
1957). The tapes are draped over a guide rod as in Figure 5-5, and 
tape ends fall into partitioned bins. Each tape contains 40,000 ten- 
character words recorded in 2 lanes. Fifty tapes in a file store twenty 
million digits, and up to 10 Datafiles can be connected to a Datatron 
computer. Two recording heads are automatically positioned under a 
desired tape. The average access time depends upon the number of 
(a) tape files connected, (b) tape lanes used, (c) records per Datafile, 
and (d) characters per record. The average access time ranges from 
five to fifteen seconds. 




Figure 5-5. Datafile 

External Storage 

External storage facilities are divorced from the data processor 
itself; they hold large amounts of data at low cost in forms prescribed 
for processing. Magnetic tape, punched cards, and paper tape are ex- 
ternal storage media. The storage media are put into a suitable han- 
dling unit for processing. They rank as secondary storage when con- 
nected to and controlled by the computer for reading or writing. The 
contents of secondary storage are transferred to internal storage before 
processing. 



STORAGE 175 

Magnetic Tape. Magnetic-tape output is obtained from many 
business processors (the features of magnetic-tape storage are covered 
in the section on secondary storage). Active tape records mounted 
on tape read-write units are classified as secondary storage. Inactive 
tape records taken from the tape read-write units and stored are con- 
sidered external storage. They are divorced from the computer itself, 
but hold data in the form prescribed for the computer. 

Economic problems are involved in allocating tapes to secondary 
and external storage. A common solution is to obtain about ten read- 
write units so that ten tapes, including program and output, can be 
connected to the computer. Tight processing schedules may demand 
that more tapes be connected for immediate processing. If so, more 
tape units may be necessary in order to disperse output data onto as 
many tapes as desired during big processing runs. On the other hand, 
if too few tapes are available, short files of mixed output may be written 
on one tape and additional runs used to disperse the mixed output 
onto separate tapes. Equipment called a "tape data selector" simplifies 
the problem of selecting from mixed data stored on one tape when 
printing reports. This scheme increases the effective number of con- 
nected tape units available in a run. 

Punched Cards. Punched-card external storage is used for 
equipment that does not handle tape. Punched cards may be the sole 
external storage for medium-sized computers; but large systems re- 
strict the use of punched cards to peripheral equipment, which con- 
verts data from cards to tape or vice versa. 

A record that exceeds the capacity of one card takes two or more 
cards, and the cross referencing between cards may take one-third 
of each card. Records split over two or more cards have several de- 
ficiencies: data density is reduced, file maintenance is cumbersome, and 
processing is inefficient. A large file of punched cards can store millions 
of characters. Although manual selection of file cards appears to be 
quick, it is slow compared to access to data in secondary storage; still, 
manual selection from huge files of cards may be economical in view of 
the higher cost of secondary storage. 

Punched cards have some good features for manual use. People 
can read data printed on the card. A card is a unit record rearrange- 
able by machine or by hand into any desired order and is durable 
enough to be processed a few dozen times. The difficulty of altering 
the data punched and printed on a card makes it useful as evidence; 
but this feature increases the cost of correction, since the whole card 
must be repunched. Punched cards are, of course, not erasable and 
re-usable. 

Paper Tape. Paper tape is used for external storage in integrated 
data-processing systems, as well as for input and output. Paper-tape 



176 AUTOMATIC EQUIPMENT 

speed is comparable to punched-card, but much slower than magnetic- 
tape reading speed. This speed is fast enough for use with small com- 
puters, but it limits the usefulness of tape for high-speed computers. 

Tape is non-erasable and fairly durable. Short lengths of it can be 
filed for quick manual reference. A 1,000-ft. reel of tape costs about 
a dollar. Tape "sandwiches" of some combination of paper, Mylar, 
and metal that are made for greater durability cost much more. 



SELECTION OF STORAGE METHODS 

The types and amounts of storage required for an automatic data 
processor depend on the nature of the application. Some applications 
require internal storage alone; others rely heavily on secondary storage; 
still others need large secondary storage as well as external storage. 
Some factors affecting storage requirements are outlined below. 

The type of processing performed varies greatly. Scientific or 
engineering problems involving extensive calculations can utilize large 
internal storage. Lengthy instructions and many numbers are involved 
in calculations. Processing is faster if all instructions and data are con- 
tained in internal memory. If internal storage is exceeded, instructions 
and data must be segmented for handling in several runs. 

Business applications usually involve limited computations on 
huge files that are affected by numerous transactions. Transaction 
and master file data usually exceed internal memory capacity. Pro- 
grammers have several schemes for handling such situations. One 
plan is to read in one or more transactions and file records, update 
these files, write them out, and repeat the cycle. Another plan is to 
read in many transactions, read in one file record, update that file, 
write it out, and repeat the cycle. 

One plan deserves consideration for processing files where activity 
is low. It consists of processing the transactions against the master 
file tape which produces a change tape while leaving the master file 
tape unchanged. In subsequent cycles, the change tape is updated 
until it becomes large enough to warrant merging it with the master 
file by rewriting it completely. The computer time required to rewrite 
a huge master file on tape is long enough to make any processing 
scheme that saves tape rewrite time worthy of consideration. 

Similar results for files with low activity are obtained by the 
extract-merge scheme using a file processor. A file processor extracts 
from a main file the records for items that are active and writes them 
on a separate tape. The data processor is used to process transactions 
against this selected file, which is 100 per cent active, to update the 
records. Subsequently, the file processor merges the updated records 
into the main file. A file processor can merge previously updated 



STORAGE 177 

records into a main file during the same pass that it extracts active 
records for updating during the next cycle. 

Business applications often involve long instruction programs as 
well as the huge files of records and numerous transactions already 
mentioned. Instructions alone may exceed the internal storage capacity 
that is available at any reasonable price. Clearly, some scheme for 
segmenting instructions, transactions, and files becomes necessary 
for efficient processing. 

The time limit between the occurrence of an event and the need 
for information about that event is a factor in selecting storage equip- 
ment. Reliance on external storage may be suitable, if the permissible 
elapsed time limits are not too stringent. Transactions accumulated 
over a period of time can be sorted and processed in batches against 
a master file, on magnetic tape, for instance. External storage and batch 
processing may be an economical plan for huge master files. 

On the other hand, tight time schedules may require that files 
be available for frequent updating. The ideal arrangement for tight 
processing and reporting schedules is to have all files available for 
processing at all times. If transactions must be handled immediately, 
the master file is usually kept in secondary storage for on-line process- 
ing. For example, all inventory tape files can be kept mounted on tape 
units to avoid manual handling. Faster storage — core, drum, disk, 
or short tapes — is used for quick processing of transactions in random 
sequence. 

Fast-access storage costs more per unit than slow-access storage. 
System design involving huge amounts of internal and secondary stor- 
age should be examined with care. Equipment and operating cost in- 
volved in meeting extremely short time limits may exceed the value 
of the information obtained. 

Information requirements are reflected in the frequency and na- 
ture of reports prepared and the references made to files. The nature 
of the information needed affects the selection of storage methods. 

A need for scheduled, formal reports may be met efficiently from 
files kept in external storage, if time limits are not too short. Sched- 
uled processing at reasonable time intervals may be an efficient plan 
for updating huge files. Part of a file — one-fifth or one-twentieth — 
may be updated each day to complete the cycle over a period of a 
week or month. Current reports covering a part of the file can be 
prepared when that part is updated. If reports are needed immediately 
after events occur, quick-access internal or secondary storage is required. 

Examples of unscheduled reports are references to the file and 
interrogations — questions requiring quick answers. An event may 
trigger the need for information even though the event is part of the 
stream of regular transactions. A withdrawal below inventory re-order 



178 AUTOMATIC EQUIPMENT 

point, for example, triggers a replenishment order. A need to know 
the quantity of stock on hand involves an interrogation of the file. 
Frequent interrogation of files demands storage devices suited to the 
need. Quick answers require quick-access storage. 

Interrogation of current files poses critical problems. Many solu- 
tions are proposed, and special equipment exists to cope with file in- 
quiry problems. The point is often overlooked, but interrogation of 
inactive files becomes more difficult as the volume of file grows. Exter- 
nal storage appears to be mandatory for historical files because of 
their huge volumes. Infrequent reference and loose time limits may 
make external storage useful for most purposes. In fact, the high unit 
cost of internal storage precludes its use for mass storage. 

The feature of re-usability of storage is valuable for historical 
reference purposes. Some items in a record are useful only for a short 
period of time. Data about individual receipts and issues of inventory 
may be vital for the current and past quarter. Monthly data pertaining 
to the third and fourth quarters in the past may be necessary. Quarterly 
summaries may suffice after one year and annual totals after three 
years, so that file volume can be reduced by condensing unwanted 
data. In summarizing data some details will be lost unless they are 
available elsewhere. Condensing records on a re-usable storage me- 
dium and discarding the parts no longer wanted corresponds to the 
transfer of paper or card records to inactive storage. Whereas paper 
records must either be put in inactive storage as whole documents or 
destroyed, records on magnetic tape can be selectively condensed in 
order to discard only those characters or words that are no longer 
wanted. Re-usable storage that is released by condensing or discarding 
unwanted records can, of course, be used for other purposes. 

Data volume is an important factor in selecting efficient storage 
methods. Huge volumes restrict system design to some method with 
low unit cost in order to keep total costs in bounds. Wider choices of 
methods exist for moderate volumes of data. Business applications 
involve large volumes of data and varied processing methods so that 
the use of two or more storage methods is likely to be more efficient 
than the use of a single method. 

Audit requirements also influence selection of storage methods. 
Company and independent auditors examine data-processing systems 
for several reasons. They want to determine whether operations meet 
specified rules and procedures. Also, auditors determine whether rec- 
ords and reports accurately reflect transactions and condition. An oper- 
ating report covers an interval of time — the month of January, or the 
year ending June 30. A condition or status report pertains to a point 
in time — June 30 or August 10. Auditing involves, among other things, 



STORAGE 179 

examining source data, methods of processing, and content of final 
reports (Toan, 1955). 

Each transaction leaves an "audit trail.'' Some form of record 
is necessary for an auditor to trace this trail. For many purposes, an 
auditor may prefer records in readable rather than machine-process- 
able form, for he is more at home with readable records. Tape con- 
tents may be printed and retained for historical reference and for 
use by auditors. If print-outs are too bulky, they may be reduced to 
microfilm. 

Auditors will utilize new equipment and systems in making audits 
and will study flow charts and programs to find the rules followed in 
processing. Machine-operating logs show what programs and data were 
used in processing, and problems can be devised to test the logic of 
programs and application to various conditions. Programmers often 
design safeguards in programs to assure control over data during proc- 
essing, and auditors can study such features in appraising the internal 
control plan. 

Understanding the available data and methods of storage is 
important for auditors, but it is only part of the over-all audit prob- 
lem. Accurate auditing also requires an understanding of equipment, 
programs, and processing methods; these will be covered in later 
chapters. 

SUMMARY 

The ideal storage system is characterized by infinite volume, all 
methods of organization, no waiting time, indefinite availability, and 
no cost. It is easy to specify an ideal system; it is impossible to build it. 

Actual storage equipment represents a compromise between the 
desired ideal and what the available amount of money will buy — given 
the present state of the art of computer design and construction. Most 
storage systems are a limited mixture of different types of equipment. 
Small quantities of high unit cost storage and large quantities of low 
unit cost storage may work together for many applications. 

Stored data are represented by bits. Four-bit, six-bit, and other 
codes are used for numerals, letters, and symbols. The use of an ad- 
dress facilitates finding a desired piece of data. The word "address'' 
refers to the storage location of a word in equipment designed with 
fixed word-length. "Address" also refers to a field which may be as 
short as one character in variable field-length equipment. An address 
scheme is used for internal storage. Some storage systems, notably 
the tape and card varieties, do not use addresses to designate the loca- 
tions of data; in these systems, scanning or searching is necessary to 
find an item. 



180 AUTOMATIC EQUIPMENT 

Important features of storage units are capacity, access time, and 
erasability. Capacity is the quantity of data that can be put into a 
storage unit. Access time is the length of time between a call for data 
from storage and completion of delivery. "Erasability" means that 
stored data can be replaced by new data. 

Storage is classified here as internal, secondary, and external. In- 
ternal storage, which is an integral physical part of a data processor, 
is directly controlled and automatically accessible; some internal stor- 
age devices are the magnetic core, magnetic drum, and delay line. 
Secondary storage is not an integral part of the data processor, but it 
is directly connected and controlled; examples of secondary storage are 
the magnetic drum, disk, and several forms of tape. External storage 
is divorced from the data processor, but it holds data in the form re- 
quired for processing; examples of it are magnetic tapes, paper tapes, 
and punched cards. 

Three classes of storage are used with most business processors 
to get an efficient balance between storage volume and unit cost of 
storage; but since the equipment manufacturer decides what kinds of 
storage units he will offer, he thereby limits the user's choice. 

Factors involved in selecting storage methods are the time limits 
on processing, information requirements, volume of data, and audit 
requirements. Time limits — the elapsed time between an event and 
required reports — are important. Short time limits demand quick- 
access storage units. If report preparation can be scheduled, files may 
be kept in lower-cost, external storage. References and interrogations 
that must be handled immediately after being triggered by events may 
require that files be kept in secondary or internal storage to reduce 
the access time. 

Audit requirements have some influence on the methods, quantity, 
and duration of storage. Auditors may prefer or even demand that 
data are kept in readable form. Auditors will, in time, develop ways 
of following non-readable audit trails of transactions and thereby ex- 
ploit the capabilities of new equipment and methods. Safeguards de- 
signed into a program by programmers to fulfill their operating require- 
ments will meet part of the auditor's demand for control over data 
during processing. 



REFERENCES AND SUPPLEMENTAL READINGS 

Fowler, Franklin, Jr. "The Computer's Memory," Control Engineering, 
vol. 3:93-101 (May 1956). The six characteristics of a storage system are: 
(a) it contains elementary locations, each capable of storing a bit, (b) the 
elementary locations are combined into small groups called words, (c) the 
words are assigned numbers known as addresses, (d) there is a method of 



STORAGE 181 

storing data in a desired location, (e) a method for reading data from 
the desired location, and (f ) there is a means of communicating between 
the storage and the rest of the computer. The commonly used storage sys- 
tems are grouped and discussed according to the method used to gain 
access to their data. Magnetic cores, Williams tubes, and ferro-electric 
storage are the main parallel-access systems considered. Cyclic-access 
systems discussed include magnetic drums, magnetic-tape loops, disks, tape 
drums, and acoustic delay lines. Classified as progressive-access systems are 
punched cards, punched paper tape, and magnetic tape. Most extensive 
consideration is given to magnetic-drum and magnetic-core storage, but 
the manner in which a storage device stores a bit of information and the 
technique for recording on and reading from storage locations are indi- 
cated for most of the devices. 

Lesser, M. L., and J. W. Haanstra. "The RAMAC Data-Processing Machine: 
System Organization of the IBM 305," pp. 139-146 in Proceedings of the 
Eastern Joint Computer Conference: New Developments in Computers, 
New York, American Institute of Electrical Engineers, 1957. This paper 
describes a new automatic data-processing machine for business applica- 
tions utilizing a random-access memory system. Unlike the usual batch 
method of machine processing business transactions, the technique used 
permits data transfers between any two points in the system and makes 
multi-choice decisions according to the current status of the data. Employ- 
ing punched-card input and output, the IBM 305 is designed to handle 
10,000 line transactions per day. 

MacDonald, D. N. "Datafile — a New Tool for Extensive File Storage," pp. 
124-128 in Proceedings of the Eastern Joint Computer Conference: New 
Developments in Computers, New York, American Institute of Electrical 
Engineers, 1957. This paper discusses the design and application of an 
advanced magnetic-tape storage system with facilities for automatic access 
to files as large as two hundred million characters with average access in 
the five to twenty second range. Employing standard magnetic tape and 
recording techniques, it also provides an economical solution to the many 
medium-speed random-access problems and avoids tape handling as such. 

Toan, A. B., Jr. "Auditing, Control and Electronics, Journal of Accoun- 
tancy, vol. 99: 40-45 (May 1955). The author discusses the interaction 
between auditing and electronics, resultant problems, and means for re- 
solving some of the problems. The three areas considered are: (a) deter- 
mining that original data and subsequent processing are accurate and 
authentic, (b) controlling approved input material so that all of it and 
nothing else will enter the records, and (c) providing records that are satis- 
factory in terms of form and supporting evidence. Electronic systems intro- 
duce new kinds of problems because (a) records are no longer in written 
form, (b) many intermediate records are eliminated, and (c) only a few 



182 AUTOMATIC EQUIPMENT 

individuals are responsible for the system. Since auditing depends largely 
upon comparison of data to establish validity, the computer may help by 
taking over part of the auditing job. Toan suggests that increasing mech- 
anization may drastically change some techniques of audit and control, 
but most objectives will remain largely unaffected. 

Welsh, H. F., and V. J. Porter. "A Large Drum-File Memory System," pp. 
136-139 in Proceedings of the Eastern Joint Computer Conference: New 
Developments in Computers, New York, American Institute of Electrical 
Engineers, 1957. The magnetic drum-file memory system described in this 
paper was designed for the Univac-Larc computing system as storage inter- 
mediate in speed and capacity between Uniservo magnetic tapes and 
magnetic-core memory. Drum-file memory may be used for any type of 
systematic data processing where extremely short access time is not re- 
quired but economy is important. Economy is achieved through the use 
of a single flying head that can move parallel to the axis of the drum and 
perform the read-write operations for the entire drum. The drum-file may 
also be used as a random-access device where a delay of a second or two 
is not critical, as, for example, in checking a particular item of an inventory. 



CHAPTER SIX 



ARITHMETIC AND 
CONTROL UNITS 



The arithmetic and control units are at the heart of an automatic 
data processor; they are responsible for on-line data transfers and 
operations throughout the system. 

Both the arithmetic and the control units are located in the main 
frame of the equipment. The arithmetic unit is that part of the cir- 
cuitry which performs arithmetical operations. The control unit in- 
cludes the circuitry that performs the following functions: 

1. Gets each instruction in the proper sequence 

2. Interprets each instruction 

3. Applies proper signals that cause the arithmetic unit and other parts 
of the computer to operate in accordance with an instruction 

Data and instructions are read in from input units and placed in 
specified locations in internal storage under guidance of the control 
unit. The control unit calls for instructions in storage and interprets 
them. Data to be processed go from storage to the arithmetic unit, 
where, under the guidance of the control unit, arithmetical and cer- 
tain logical operations are carried out. The processed results are re- 
turned to storage or written out, again under guidance of the control 
unit. In short, the control unit guides the input, output, storage, and 
arithmetic units by coordinating their operation in carrying out an 
instruction routine. 

Arithmetical operations include adding, subtracting, multiplying, 
and dividing. These operations are basic for processing data, and var- 
iations of them give increased flexibility. For example: the accumu- 
lator may be cleared and an operation started in a combined clear- 
and-add or clear-and-subtract operation; numbers can then be divided 
or multiplied and the result rounded in a combined operation. 

Discussion of the arithmetic unit is covered in two parts. In the 
first, components are discussed and illustrated; in the second, the 
operations performed and the problems encountered are described at 
length. 

183 



184 AUTOMATIC EQUIPMENT 

ARITHMETIC UNIT COMPONENTS 

Circuits and devices used in an arithmetic unit vary widely from 
one type of equipment to another, but they are essentially similar from 
the programmer's viewpoint and in the way that he uses them. 

Registers 

An arithmetic unit usually has several registers. A register stores 
a word temporarily, until it is used or while it is being used. Registers 
may consist of dynamic pulse circuits that have storage with zero access 
time. Each circuit is a small assembly of vacuum tubes, resistors, capac- 
itors, and diodes that operate as a unit to represent one bit. 

The number of registers in the arithmetic unit varies for different 
computers. An accumulator register and an M-Q register are commonly 
used. Several other registers may be used to hold other operands in- 
volved in an operation. 

Accumulator. Sums and other arithmetical results are formed 
in the accumulator. An accumulator might be used for adding two 
numbers, as in Figure 6-1. For performing this addition, the control 
unit instructs the equipment to proceed as follows: 

1. Copy the first number from storage into the accumulator. 

2. Get the second number from storage and add to (or subtract from) 
the number in the accumulator. 

3. Continue to add (or subtract) other numbers or copy accumulator 
content into storage. 

The accumulator is as long as a computer word. It also has provi- 
sion for an overflow bit and a plus or minus sign. An accumulator is 
necessary for single-address equipment that handles one operand at a 
time. An "operand'' is any one of the quantities that enters an opera- 
tion (the content of a storage location to be operated on) or that arises 
from an operation. Examples of operands are inventory quantity and 
unit cost which can be multiplied to get inventory value. 

Two-address and three-address computers can bring up both 
operands simultaneously and add them in circuitry called "adders'' 
instead of in an accumulator. Addition and subtraction of seven-digit 
operands, for instance, can be handled by an eight-digit accumulator, 
as described for the hypothetical accumulator in Chapter 3. Seven 
digits are for the answer — the eighth digit being for overflow, to in- 
dicate when an answer outgrows the seven-digit space. 

M-Q Register. Multiplication of two seven-digit numbers gives 
a thirteen-digit or fourteen-digit product. The accumulator deals with 
the first, or high-order, six or seven digits; but more register space 



ARITHMETIC AND CONTROL UNITS 



185 



is needed for the other seven digits. The "M-Q" or multiplier- 
quotient register augments the accumulator for multiplication and 
division by holding the right-hand seven digits of a fourteen-digit 
product. 



Step 1 


Step 2 


Step 3 






















Storage 






Storage 






Storage 








+0002468 


+0002468 


+0002468 


• 




+0031357 






+0031357 


+0031357 










+0033825 




k 














' F 


ir 


st operand 




' Second operar 


id 






Total - 




4 





0002468 






+ 


0033825 






+ 0033825 






A 


ccumulator 






i 


Accumulator 






Accumulator 





Figure 6-1. Addition in the accumulator 

All thirteen or fourteen digits of the accumulator and M-Q regis- 
ters are available for storage, if the degree of precision — the number 
of digits in the answer — warrants. Otherwise, the right-hand seven 
digits of a product can be dropped and the effect of rounding carried 
over to the next digit in the accumulator. In division operations, the 
quotient ends up in the M-Q register and the remainder is in the 
accumulator. 

Adder 

An adder is the nucleus of an arithmetic unit and forms the sum 
of two operands. A half-adder handles one bit each from the addend 
and augend. The rules for output of a half-adder follow the rules for 
binary addition: 



1 

Addend 
A 


nput 

Augend 
B 


Output 

Carry Sum 

C S 














1 


1 


1 





1 


1 


1 


1 



186 



AUTOMATIC EQUIPMENT 



A type of adder called a "coincidence adder" is widely used. It 
is built up from a number of logical circuits called "gates,'' which 
are electric circuits with an output signal dependent on the input sig- 
nals. The basic types of gates, which have two or more input signals 
and one output signal, are: 

1. "And" gate that transmits an output signal if and only if there is a 
signal on all input lines 

2. "Or" gate that transmits an output signal if there is a signal on any 
input line 

Closely related to the "and'' and "or" gates is an "inverter," 
which is a device for changing a signal from a given state to the oppo- 
site or alternative state — to 1 or 1 to 0. 

The simplest operation is the addition of two binary numbers 
of one bit each. The addition of 1 + 1 in binary gives a carry digit of 1 
and sum digit of 0, as shown in Figure 6-2, where a 1 indicates a pulse 
and indicates no pulse. Actually, an adder must be able to handle 
three input bits — addend, augend, and any carry from the right. A 
two-input adder is an arrangement of two half-adders to handle three 
pulses in two steps. A three-input adder handles three pulses in one 
operation. 



Digi 

"A" 




1 










i 




"And" 
Gate 


Carry 


\ 
= 1 

Digi 
"B" 


1 




w Digit 

1 
f 


w 






i 




Inverter 


\ 
= 1 

1 








1 




f 






"Or" 
Gate 


1 
— ► 


"And" 
Gate 


Sum 
Digit 


1 




w 















Figure 6-2. Block diagram of a half-adder 

ARITHMETICAL OPERATIONS 

A set of adders and other devices can perform addition, subtrac- 
tion, multiplication, and division operations on operands. 

Addition 

The operations involved in decimal, binary, and binary-coded 
decimal addition will be described. (See Richards, 1956, for a longer 
description. ) 



ARITHMETIC AND CONTROL UNITS 



187 



Decimal. Brief discussion of addition of decimal numbers with 
an ordinary desk calculator illustrates some of the features of any 
method of addition. Consider the problem of adding five numbers: 

47154 

832961 

2466285 

6590628 

62971 

Assume that the desk calculator has a keyboard seven digits wide, 
a lower dial, and an upper dial. The lower dial (accumulator) has seven 
digits for a total and an eighth digit to indicate overflow. The upper 
dial holds seven digits and counts the number of cycles. 

Contents of the keyboard and both dials after each operation are 
shown in Table 6-1. The lower dial contains 09999999 after completing 
the fifth cycle. The overflow digit is 0, which means that no overflow 
occurred, so that the correct sum is 9999999. If a sixth number, say 
0000005, is added, the lower dial will show 10000004. The 1 means 
that overflow occurred; the total appears to be 0000004, but that is 
erroneous. 



Table 6-1. Addition on a Desk Calculat 



or 





Operation 


Keyboard 


Lower Dial 
(Accumulator) 


Upper Dial 

(Cycle 

Counter) 


Before operations start, the 


keyboard and 


dials may contai 


n anything. 


1. 


Clear 


0000000 


00000000 


0000000 


2. 
3. 


Set up first operand 
Add first operand 


0047154 
0000000 


00000000 
00047154 


0000000 
0000001 


4. 
5. 


Set up second operand 
Add second operand 


0832961 
0000000 


00047154 
00880115 


0000001 
0000002 


6. 

7. 


Set up third operand 
Add third operand 


2466285 
0000000 


00880115 
03346400 


0000002 
0000003 


8. 
9. 


Set up fourth operand 
Add fourth operand 


6590628 
0000000 


03346400 
09937028 


0000003 
0000004 


10. 
11. 


Set up fifth operand 
Add fifth operand 


0062971 
0000000 


09937028 
09999999 


0000004 
0000005 



There are several remedies for handling the situation when over- 
flow occurs. One remedy is to return to an earlier step in the program, 
shift each number one place to the right, and repeat the addition. The 
right-hand digit is lost and a rounded total may be obtained or the 



188 



AUTOMATIC EQUIPMENT 



digit just dropped. A left shift is made later to offset the right shift 
and get the correct decimal place in the result. Another remedy for 
handling overflow is to split each number into two parts. The split 
numbers are added as two separate series and their totals combined 
later. This scheme is a simple example of "double precision" addition. 
The degree of precision in the total is greater than the capacity in either 
the accumulator or in individual storage locations. 

In the preceding example (Table 6-1), the upper dial shows 
0000005, which means that 5 addition operations or cycles were per- 
formed. The upper dial holds the multiplier or quotient in other opera- 
tions. This simple example of addition on a desk calculator shows the 
clear-and-add instructions, accumulation of running total, cycles, and 
overflow. 

Binary. Addition is simple in machines using binary numbers. 
A three-input adder that handles only four-bit numbers can add 2 
binary numbers in serial fashion, as shown in Figure 6-3. 



Addend A 
Augend B 
Sum 



Binary 
Numbers 

0101 
1001 



1110 



Decimal 
Equivalents 

5 
_9 
14 



Step 4 



Step 3 



Step 2 



Step 1 



Addend A 
Augend B 



Carry: 
Sum: 



Adder * 







Add< 



Adder 



Adder 



Figure 6-3. Three-input adder 



Binary-coded Decimal. Addition of binary-coded decimal num- 
bers involves rules for generating the carry which are different from 
those for binary. The 8421 binary-coded decimal scheme uses only 10 
of the 16 possible combinations of four bits. Six combinations are 
skipped, and it is necessary to adjust for this skip each time a decimal 
carry occurs. If the sum of 2 binary-coded decimal numbers exceeds 
0000,1001, then 0110 (binary 6) is added to get the correct total. The 
following example illustrates the procedure: 



ARITHMETIC AND CONTROL UNITS 
Binary-coded Decimal Decimal Equivalents 



189 



0101 
+ 1000 



► 1101 (Binary 13; 

+ 0110 (Binary 6; 
0001, 0011 



13 

it 



Binary 13 is greater than binary 9 

and is not a valid code. 

Somewhat similar corrections are required to correct the carries in 
other binary-coded decimal schemes, such as excess three. 

Subtraction 

Subtraction might be handled as the opposite of addition, if spe- 
cial "subtracter" circuits were available. As a matter of fact, fewer 
extra circuits are required if subtraction is done in three stages by using 
circuits that are already available. For example, to compute A minus 
B: (1) form the complement of B; (2) add the complement of B to A; 
(3) make any adjustment required because a complement was used. 
Forming the complement of a number looks like a subtraction opera- 
tion. But it is actually much easier to form a complement because the 
number to be complemented is subtracted from a string of 9's or Is in 
decimal and binary, respectively. The complement of a number is ob- 
tained by subtracting it from some power of the number base as in 
the example given in the next section. 

Decimal. The "tens complement" of a number is formed by 
(1) subtracting it from 10 n minus 1, (2) adding 1 to the least-significant 
digit, and (3) performing all carries. If the accumulator holds 7 digits, 
n is 7 and a number to be complemented is subtracted from 9999999. 
The effect of adding 1 in the second step is to get the tens complement. 
To compute 428 minus 325 by means of complements in a seven-digit 
accumulator, the procedure is as follows: 



1. Find the nines complement 

2. Add 1 to the right-hand digit 

The tens complement 

3. Then add 9999675 to 428 



9999999 
325 

9999674 

+ 1 

9999675 

+ 428 



10000103 



190 AUTOMATIC EQUIPMENT 

The result is 103. The 1 carried to the eighth or overflow position 
is discarded because it is not wanted when the tens complement is used. 

It is easier to use the nines complement than the tens complement 
for subtraction because the nines complement of a number is formed 
by subtracting every digit from 9. The fact that 10 n minus 1 is used, 
and 1 is not added back in the second operation above, is offset later by 
adding the overflow digit, if one occurs, to the right-hand digit in the 
remainder. The operation of adding the overflow digit to the right- 
hand position is called "end-around carry." 

The example of 428 minus 325 can be shown by means of the 
nines complement scheme. 

1. Take the nines complement 9999999 

325 

9999674 

2. Add 9999674 to 428 + 428 

|l]0000102 

3. The overflow 1 in the eight position is end- 
around carried to the first position, when 
the nines complement is used 



[l]0000102 
1 

103 

If the remainder is negative, no overflow occurs, and therefore 
an end-around carry is not made. The nega.tive result that arises from 
adding a complement is itself complemented to get the correct remain- 
der. For example, 333-555 is computed as follows: 

1. Take the nines complement 9999999 

555 

2. Add 9999444 to 333 9999444 

+ 333 

9999777 

3. No end-around carry occurs; therefore, the 
remainder is negative. Find the complement 
of 9999777 to get the remainder in its ordi- 
nary form 

9999999 
-9999777 

222 

4. Attach a minus sign to get the remainder 

-222 



ARITHMETIC AND CONTROL UNITS 191 

Binary. Complements of numbers in decimal and binary systems 
are useful for subtraction in the same way. The twos binary comple- 
ment is like the tens decimal complement; the twos complement of 
10010 is OHIO. It is obtained by subtracting from 2 n minus 1 (which 
is 11111 for five bit positions) and adding 1, as follows: 

11111 
-10010 

01101 

± 1 

oino 

The ones binary complement is similar to the nines decimal com- 
plement; the ones complement of 10010 is 01101, which is obtained 

as follows : 

11111 

-10010 

01101 

Complementing a binary number is simplicity itself: the ones 
binary complement can be formed by inversion, which changes each 
1 to and each to 1. 

Binary-coded Decimal. Numbers in the excess three code de- 
scribed earlier can be complemented in much the same way as binary 
numbers are complemented. The nines complement of an excess three 
code number is formed by simply changing each 1 to and each to 1, 

as follows: 

Excess 3 

Code Decimal 

Original number 0101 2 

Ones complement 1010 

Nines complement 7 

To subtract a number by adding its ones complement requires an 
end-around carry, in the same way as before, if an overflow 1 occurs 
at the left. To find 9 minus 2: 

1. Find the ones complement of 2 in excess 3 code. 

0101 = 2 in excess 3 code 
1010 = complement of 2 

2. Add the complement to 9. 

1100 = 9 in excess 3 code 
+ 101 = complement of 2 



So 110 

1 +-* end-around carry 

0111 = 7 in binary 

001 1 To return to excess 3 code, add 3. 

1010 = 7 in excess 3 code 



192 



AUTOMATIC EQUIPMENT 



The nines complement of numbers is typically used for subtraction 
in the binary or excess three coded decimal modes. 

Multiplication 

A brief review of manual and desk-calculator multiplication is 
useful as a refresher before considering multiplication in computers. 
It is even useful for you to try multiplying some numbers just to get 
the feel of it. 

Longhand. Multiplication by longhand can be illustrated by 
multiplying two seven-digit numbers: 6598765 times 3401234. 



Multiplicand 


6598765 


Multiplier 


3401234 


Partial products 


26395060 




19796295 




13197530 




6598765 




0000000 




26395060 




19796295 


Product 


22443943876010 



Longhand multiplication uses one-digit multiplication tables 
(1 times 1, 2, 3 and so on through 9 times 7, 8, and 9) to get partial prod- 
ucts which are added to obtain the final answer. The product of 2 
seven-digit numbers contains 13 or 14 digits. All of the digits can be 
saved by splitting the numbers into two parts and placing 7 in each 
(or, perhaps, only 6 in one) of two storage locations. If less precision is 
needed, the right-hand 7 digits can be discarded after rounding the 
next digit to the left, which is the rightmost digit that is saved. The 
rounding procedure generally used is: add 5 in the highest position 
that is to be discarded; make the carry, if any; and discard all un- 
wanted digits. The product obtained above can be rounded as follows: 



Product as first obtained 
Add 5 in the highest position 
to be discarded 

New sum — no carry in this case 
Product to be stored 
Digits discarded 



2244394 



2244394 
2244394 



3876010 



8876010 



8876010 



In using this rounding scheme, you must guard against the up- 
ward bias that can result from adding 5 to the highest-order position 
to be dropped. Furthermore, the product can disappear completely 
or a spurious answer arise. Consider two cases, as follows: 



ARITHMETIC AND CONTROL UNITS 



193 



Multiply 



Add 5 in seventh position 

Product to be stored 
(six zeros omitted) 



Case 1 

12000 

i 400 

4800000 

5 

9800000 




Case 2 

13000 
x 400 

5200000 
5 

10200000 

1 



Digits discarded 9800000 0200000 

Rounded products of and 1 are obtained by multiplying 12000 
and 13000, respectively, by 400. Obviously, the most significant digits, 
48 and 52, should be retained. The point involved here is that willy- 
nilly application of a rule may give entirely unexpected results. 

Desk Calculator. Multiplication of 2 seven-digit numbers with a 
desk calculator shows how a partial product is accumulated at each 
step, with the final product available directly after the last multiplier 
digit is used. On a desk calculator, the multiplicand is ordinarily set up 
in the keyboard. Repeated operations of adding and shifting end up 
with the multiplier in the upper dial and the product in the lower dial. 
The upper dials count the number of cycles — how many times the 
multiplicand is added — in each digit position. 

Table 6-2. Multiplication on a Desk Calculator 
(Modified Scheme) 



Operation 



Lower Dial 



Upper Dial 



Clear 

Set up multiplier in 

upper dial 
Set up multiplicand 

6598765 in keyboard 
Add multiplicand 4 times 
Shift 
Add 3 times 



Shift 

8. Add 2 times 

9. Shift 

10. Add 1 time 
Shift 

Add time 
Shift 

Add 4 times 
Shift 

Add 3 times 
Shift 



11. 
12. 
13. 
14. 
15. 
16. 
17. 



000000000000000 0000000 

000000000000000 3401234 

000000000000000 3401234 

26395060:0000000 3401234 

026395060 :000000 0340123 

224358010:000000 0340123 

0224358010:00000 0034012 

1544111010:00000 0034012 

015441 1 1010 :0000 0003401 

08142876010:0000 0003401 

008142876010:000 0000340 

008142876010:000 0000340 

0008142876010:00 0000034 

2647648876010 :00 0000034 

02647648876010 :0 0000003 

22443943876010:0 0000003 

022443943876010 0000000 



194 



AUTOMATIC EQUIPMENT 



Assume that one change is made in the standard operation of a 
desk calculator. Initially, set the multiplier in the upper dial. Then 
count downward toward zero in the right-hand digit as the multiplier 
is used to add the multiplicand to the partial product the specified 
number of times. The right-hand digit in the upper dial becomes zero 
as the multiplicand is added. Shift the partial product and multiplier 
to the right one digit and repeat the operation. The reason for count- 
ing from the multiplier down to zero instead of from zero up to the 
multiplier will be explained shortly. 

Multiplication of 6598765 times 3401234 on a calculator with a 
fifteen-digit accumulator is shown in Table 6-2. The desk-calculator 
multiplication example shows that only 15 positions in both the lower 
and the upper dials are used at one time. As the product fills the lower 
dial, the used digits in the multiplier are shifted out of the upper dial. 

Table 6-3. Multiplication on Desk Calculator With 
Combined Upper and Lower Dials 







Lower and Upper 


Operation 




Dials 


1. Clear 




000000000000000 


2. Set up multiplier in upper dial 


00000000:3401234 


3. Set up multiplicand 6598765 in keyboard 


00000000:3401234 


4. Add multiplicand 4 times 


26395060:3401234 


5. Shift 




026395060:340123 


6. Add 3 times 




224358010:340123 


7. Shift 




0224358010:34012 


8. Add 2 times 




1544111010:34012 


9. Shift 




01544111010:3401 


10. Add 1 time 




08142876010:3401 


11. Shift 




008142876010:340 


12. Add time 




008142876010.340 


13. Shift 




0008142876010:34 


14. Add 4 times 




2647648876010:34 


15. Shift 




02647648876010:3 


16. Add 3 times 




22443943876010:3 


17. Shift 




022443943876010 



If the lower and upper dials can operate as a unit, then 15 posi- 
tions hold both the product digits and the unused multiplier digits. 
Multiplication of 6598765 times 3401234 by means of combined lower 
and upper dials is shown in Table 6-3. The partial products are sepa- 
rated by ":" from the unused digits of the multiplier. The scheme of 
joint lower and upper dials is similar to the preceding example, but it 



ARITHMETIC AND CONTROL UNITS 195 

shows how desk-calculator capacity is saved by making the upper and 
lower dials more versatile, for they hold either the multiplier digits or 
the product digits as required. The left eight digits of the combined 
dials correspond to an accumulator; the right seven digits are like an 
M-Q register; and the keyboard corresponds to a special register, 
which holds the multiplicand. Considering this correspondence, Table 
6-3 illustrates the essence of one way multiplication can be performed 
by a computer. 

Computers multiply numbers by using one of the following plans: 
repeated addition, add and shift, or multiplication tables. 

Repeated Addition. An obvious but inefficient way to multiply 
numbers is to add the multiplicand as many times as are specified in 
the whole multiplier. To compute 14 times 12 by repeated addition: 

(1) 14 

(2) 14 

(3) 14 



(12) 14 



168 



Add and Shift. Another multiplication method is called "add 
and shift." It involves adding the multiplicand the number of times 
specified by a digit in the multiplier, shifting, and then repeating the 
operation. 

Repeat Add and Shift 
14 multiplicand 
x 12 multiplier 

> add 2 times 
14/ 

28 partial product 

28 shift the partial product 
14 add one time 

168 final product 

The right digit in the multiplier is placed in a counter that counts 
downward to zero and the multiplicand is added to the partial prod- 
uct as many times as are indicated by the multiplier digit in the 
counter. Each digit in the multiplier is used in turn, from right to left. 
The partial product is shifted after each addition operation so that the 



196 AUTOMATIC EQUIPMENT 

multiplicand is added to the appropriate positions in the partial prod- 
uct. This scheme is similar to the method described for performing 
multiplication on a desk calculator. The accumulator and M-Q regis- 
ters together hold both the product and the multiplier. Repeated add 
and shift operations put the 6 or 7 left-hand digits in the accumulator. 
The 7 right-hand digits are in the M-Q register. 

Although extra circuitry is required for a computer to multiply by 
the scheme of adding and shifting, it is widely used in data processors. 
A counter, provision for shifting the multiplicand, and control cir- 
cuits are needed. Operation time required is related to the sum of the 
individual digits in the multiplier. It takes much longer to perform 
a multiplication operation with a multiplier of 9999999 than 1111111; 
accordingly, time can be saved by using the operand with the smaller 
digits as the multiplier. 

Multiplication Table. A computer may use a "product genera- 
tor" to generate multiples of through 9 times the multiplicand. The 
multiplication table can also be formed by adding a number to itself 
a given number of times and storing each total. Multiples correspond- 
ing to the multiplier are selected, aligned properly, and added to get 
the product. To multiply 486 by 93, generate multiples of through 9 
times 486, or add 486 1 through 9 times, and store the totals: 

Multiplication Addition 

x 486 = = 

1 x 486 = 486 + 486 = 486 

2 x 486 = 972 + 486 = 972 
3x486 = 1,458 +486 = 1,458 
4x486 = 1,944 +486 = 1,944 

5 x 486 = 2,430 + 486 = 2,430 

6 x 486 = 2,916 + 486 = 2,916 

7 x 486 = 3,402 + 486 = 3,402 

8 x 486 = 3,888 + 486 = 3,888 

9 x 486 = 4,374 + 486 = 4,374 

Next, select multiples of 486 for 3 and 9, align properly, and add. 

3 x 486 = 1458 
9_x 486 = 4374 

93 x 486 = 45198 

Another multiplication table approach is to form a digit-by-digit 
partial product without carries. In multiplying 3 by 6 to get 18, for 
example, the 1 is a carry digit and the 8 is a mark digit. Carry digits 
are handled separately and then added to the sum of the mark digits 
to get the product, as follows: 



ARITHMETIC AND CONTROL UNITS 197 



Left-hand 


Right-hand 


Carry Digits 


Mark Digits 




486 




93 


121 


248 


375 


624 



3871 6488 

3871 

45198 

By considering each digit individually, the left-hand carry and 
right-hand mark digits arise as follows for 486 times 3: 

486 
x 3 

18 
24 
12 

The carry digits are the 1, 2, and 1 out of the 18, 24, and 12, 
whereas the mark digits are the 8, 4, and 2. 

Equipment required for the multiplication table approach is more 
elaborate than that required for repeated addition; but this scheme 
is faster than either the repeated addition method or the add-and-shift 
method. 

Binary. Multiplication is simple for binary machines, because 
the binary multiplication table has only four entries. 

Multiplicand Multiplier Product 

times 0=0 

1 times 0=0 

times 1 = 

1 times 1=1 

Binary multiplication is essentially the add-and-shift operation 
described earlier. If the multiplier digit is 1, the partial product is 
the same as the multiplicand. The partial product is zero for in the 
multiplier. For example, in 110 times 101 : 

Multiplicand 110 

Multiplier 101 

Partial products 110 
000 
110 

11110 



198 



AUTOMATIC EQUIPMENT 



Division 

The division operation can be performed in machines by subtract- 
ing and shifting in a manner similar to the usual procedure in non- 
automatic desk calculators. The number of subtractions must, of 
course, be counted. A 1 is added to the appropriate position in the 
quotient each time the divisor is subtracted from the dividend and 
the remainder does not switch from one side of zero to the other — 
positive to negative, or vice versa. When a negative remainder arises 
(after starting with a positive dividend), the divisor is added back 
and the remainder shifted one position to the left. Dividing 70455 by 
305 illustrates the division operation carried out by repeated subtract- 
ing and shifting. 



Quotient 



Dividend 
Divisor 



70455 
305 - 



399 
305 



94 
305 



-211 
+ 305 



945 
305 



1, 

21 



640 
305 



22 



335 
305 



23 



30 
305 



1 
24 



275 
305- 

305 
305 



23 



231 



Subtract divisor, count 1 
Subtract divisor, count 1 
Subtract divisor, count 1 



Remainder negative; add 
back the divisor, reduce 
the count by 1, and shift 

Subtract divisor, count 1 



Subtract divisor, count 1 
Subtract divisor, count 1 
Subtract divisor, count 1 



Remainder negative; add 
back the divisor, reduce 
the count by 1, and shift 

Subtract divisor, count 1 



Table 6-4 shows a computer procedure for dividing 2244394 by 
6598765. The dividend is placed in the accumulator and the divisor is 
set up in a special register. By shifting and subtracting, the quotient 
is formed in the M-Q register. The remainder is separated by " :" from 



ARITHMETIC AND CONTROL UNITS 



199 



the quotient to facilitate reading. The quotient is .3401233. The re- 
mainder of 2722755 is meaningless in this case, since the initial divi- 
dend was only seven digits. Earlier, in multiplying 6598765 by 
3401234, it was shown that the product was 22443943876010. The fact 
that only the 7 left-hand digits are used in the division example causes 
the right-hand digit of the quotient to be 3 instead of 4. If more pre- 
cision is desired, the right-hand digits 3876010 should be placed in 
the M-Q register along with the 2244394 in the accumulator before 
starting the division. Dividing 22443943876010 (in the combined ac- 
cumulator and M-Q registers) by 6598765 gives the quotient of 
3401234 and a remainder of 0. This is a simplified example of double 
precision division, for the dividend is double length — 14 digits — even 
though the divisor is single length. 

Table 6-4. Division in Accumulator and M-Q Registers 



Operation 


Accumulator M-Q Register 


1. 


Clear 


00000000 


0000000 


2. 


Set up dividend 2244394 


02244394 


0000000 


3. 


Set up divisor 6598765 








in memory register 


02244394 


0000000 


4. 


Shift the dividend 


22443940 


000000:0 


5. 


Subtract 3 times 


02647645 


000000:3 


6. 


Shift 


26476450 


00000:30 


7. 


Subtract 4 times 


00081390 


00000:34 


8. 


Shift 


00813900 


0000:340 


9. 


Subtract time 


00813900 


0000:340 


10. 


Shift 


08139000 


000:3400 


11. 


Subtract 1 time 


01540235 


000:3401 


12. 


Shift 


15402350 


00:34010 


13. 


Subtract 2 times 


02204820 


00:34012 


14. 


Shift 


22048200 


0:340120 


15. 


Subtract 3 times 


02251905 


0:340123 


16. 


Shift 


22519050 


.•3401230 


17. 


Subtract 3 times 


02722755 


.•3401233 



Meaningful remainders arising from the division operation may be 
stored. The right-hand digit of the quotient can be rounded, if desired, 
but rounding is more intricate here than it was for multiplication. For 
example, 6 divided by 7 gives the seven-digit quotient of 8571428 and 
a remainder of 4. To decide how to round the right-hand digit in the 
quotient, it is first necessary to continue the division operation to get 
at least one more digit in the quotient. That is, divide the remainder, 4, 
by 7 to get 57 which, in effect, extends the quotient two more places. 



200 AUTOMATIC EQUIPMENT 

Since 57 is larger than 50, the right-hand digit in the quotient, 8, is 
rounded to 9; this gives a rounded quotient of 8571429. It is necessary 
to have additional digits for the quotient when rounding; it is not cor- 
rect to look merely at the first digit in the remainder. 

The division operation can be performed in a binary machine in a 
similar fashion. Some data processors are not designed to carry out a 
division instruction — on the grounds that the division operation occurs 
so infrequently in typical problems that it does not justify the special 
circuitry required to handle it. Division can be programmed by ob- 
taining the reciprocal of the divisor and multiplying by the dividend; 
a reciprocal can be generated by a simple formula involving adding and 
multiplying. 

Serial and Parallel Operation 

Both the serial and the parallel operating modes are used in com- 
puters. "Serial " means that the digits in a number are handled sepa- 
rately. Longhand addition, for example, is done serially. 

385 
67 

452 

First, the 5 and 7 in the right column are added to get the 2. Next, 
a carry of 1 is made to the second column and added to the 8 and 6. 
The carry is added to the 3. Add and carry is continued from right to 
left, until every column is added. 

Serial Adders. The operation of a serial adder is shown in Figure 
6-4. The right-hand digits of two operands are added to make one digit 
in the sum. Any carry is delayed and added in the next step. The oper- 
ands are shifted one digit to the right after each step so that the next 
digits are obtained from the same positions as before. The sum is also 
shifted one position to the right after each step, and the new digit is 
introduced at the same point each time. Seven steps are necessary to 
add 2 seven-digit numbers, although steps 4 to 6 are omitted from 
the illustration. The sum will, at the end of the operation, be posi- 
tioned just as the operands were. 

A detailed study shows that the sum occupies positions just like 
those vacated by shifting the operands. Computer design can be sim- 
plified by putting the sum into the vacant positions where one of the 
operands was. In the serial mode, the digits from the first column are 
added during one time interval. Any carry is added with digits from 
the second column during the next time interval. The operation time 
depends on the number of digit positions involved. Only one adder is 
required for the serial mode, regardless of the number of digits in 
the numbers. 



ARITHMETIC AND CONTROL UNITS 201 



QlO|0|0|3[8 l~5 



6 7 



Step 1 



► Adder 

t 



Delay 
one In- 
step 



2 



010 3 8 



6 



Step 2 



► Adder 




Delay 

one 

step 



5 2 



3 







Skip steps 4 to 6 



Step 3 



► Adder 
t 



Delay * 



4 5 2 







Step 7 









h. 


Adder 








~1 

▼ 






[-► 


4 5 2 











lii 






I 




J 


— Delay < 





Figure 6-4. Block diagram of a serial adder 



202 AUTOMATIC EQUIPMENT 

Parallel Adders. All digits of a number are handled at one time 
in the parallel mode of operation because an adder is provided for 
each digit position of a number, as is the case for a desk calculator 
or an adding machine. Digits in all positions are added at the same time. 
The operation is completed in one time interval plus any time required 
to handle the carries. The faster speed of the parallel mode of opera- 
tion is obtained at the expense of more components and ingenious cir- 
cuitry. 

The illustration of addition in the serial mode given earlier used 
decimal numbers for simplicity. Actually, numbers are represented 
in binary or binary-coded decimal inside the computer. Binary num- 
bers are longer than decimal numbers so that more adders are involved 
than the illustration suggests. 

LOGICAL OPERATIONS 

Arithmetical operations involve all the digits in a number. Each 
digit in a total may be affected by carries, and each digit in a remainder 
may be affected by borrows for positions to its right. 

The comparison operation is one type of operation that is useful 
for dealing with one or more individual character positions with the 
effect of carries or borrows ruled out. A word containing letters can- 
not be subtracted from another word to find which is smaller or, more 
correctly, which comes first in the alphabetic sequence. Computers may 
"hangup" when they attempt to subtract letters, for letter codes do 
not fit the rules for addition and subtraction operations. On the other 
hand, letters can be compared to find which is earlier in alphabetic 
sequence. A small code value is given to A and a high code value to Z. 
The table of code values assigned to letters, numerals, and other sym- 
bols make up a collation table, as described in Chapter 2. The essence 
of alphabetic sorting is to arrange words in the collation table sequence 
of values by comparing them. A comparison instruction in a program 
may have three possible results — less than, equal to, and greater than — 
as explained in Chapter 3. 

Extraction is another logical operation. To "extract" means to 
remove from a set of items all the items that meet some arbitrary cri- 
terion. It is also used to mean replacing specific parts of one quantity 
(as indicated by some other quantity called an extractor) by the con- 
tents of specific parts of another quantity. Extraction, in this narrow, 
detailed sense, is used to get one or more selected characters out of or 
into a word in the following way. A word consisting of 0's and Is — or 
of any "even" and "odd" characters — is placed in a memory register 
to serve as the extractor. The content of any storage location can be 
extracted into the accumulator by means of an odd-character extract 



ARITHMETIC AND CONTROL UNITS 203 

order. The accumulator content is replaced by the content of the spec- 
ified storage location in only those character positions where the 
extractor contains Is. Other positions in the accumulator remain un- 
changed. Assume the following conditions: 

Storage location 379 $---.-- 
Accumulator 0684029 

Extractor 1000100 

The extract odd-character order, EXO 379, will replace the char- 
acters in the accumulator with characters from location 379 that have 
positions corresponding to the odd- value characters — the Is — in the 
extractor, without changing anything else. The result of an EXO 379 
order, which is written in the format of the instructions for the hypo- 
thetical computer in Chapter 3, is as follows: 

Accumulator $684.29 

Another version, the extract £U£n-character order, replaces the 
content of the accumulator with characters that have positions corre- 
sponding to the even-value characters in the extractor. Furthermore, 
the new content of the accumulator is transferred to the storage loca- 
tion involved. Consider the following situation: 



Storage location 379 


$---.-- 


Accumulator 


0591043 


Extractor 


2333233 



The extract even-character order EXE 379 — using the 2 s as even 
characters in this case — will give the following result without changing 
the extractor: 

Accumulator $591.43 

Storage location 379 $591.43 

The content of the storage location involved in the extract order, 
379 in these examples, is immaterial except for the characters that 
are extracted. The blanks could just as readily be any other characters. 

The shift instruction is another logical operation. Shifting involves 
moving a word columnwise to the right or left, that is, each character 
in a word is moved from one column to the next. An important use of 
shifting is to align words containing letters before comparing them 
or to align words containing numerals before adding them. Continued 
shifting in one direction causes characters to drop off at that end of a 
word; zeros occupy spaces arising at the other end. Sometimes the 
computer designer may devise a shift order so that characters shifted 
out of one end are returned to the other end of the word in a circular 



204 AUTOMATIC EQUIPMENT 

fashion. This method is called logical, non-arithmetical, or circular 
shifting. A circulate order may handle the content of the arithmetic 
register alone or the combined contents of the arithmetic and M-Q 
registers; but the operation may be restricted to left-hand shifts — 
counterclockwise, so to speak. The circulate order is different from 
arithmetical shifting, which loses digits that drop off the end. 

A requirement of logical operations is that the value in a given 
position of the result depends on a value in only one position of each 
of the words involved; that is, there are no carries or borrows. The name 
"logical" operation does not mean that other operations are illogical. 
Logical operations might be thought of as a special kind of arithmetic; 
they are sometimes called "non-arithmetical," but the name "logical" 
is often used. 

CONTROL UNIT COMPONENTS AND OPERATION 

A control unit for internally stored program computers contains 
registers, counters, and decoders. 

An instruction register holds the program instruction that the ma- 
chine is currently performing. A decoder translates the operation part 
of an instruction by setting up the arithmetic unit circuits to perform 
the operation specified in the instruction. An address register holds 
the address of the operand required to execute the instruction. 

A counter is a storage unit that adds or subtracts some number 
when a signal is received. The instruction counter is used in the con- 
trol unit of some computers to indicate the address of the instruction 
that is being executed. The instruction counter increases during each 
instruction execution cycle to indicate the address of the next instruc- 
tion. If instructions in storage are being executed in sequence, the 
counter increases by one in each cycle. The counter can be reset to 
zero or to any desired instruction by a "jump" instruction. 

Control Unit Operation 

The operation of the control unit for a single-address computer is 
shown in Figure 6-5. "Single address" means that each instruction 
specifies one operand: the instruction "ADD 268" that is stored in 
storage location 062 means "Add the contents of storage location 268 to 
the contents of the accumulator." 

Assume that computations are in process and we look in on one 
operating cycle just after an instruction is put in the instruction regis- 
ter. The instruction register contains an instruction, such as "ADD 
268" copied from location 062. The operating cycle can be described as 
consisting of 7 steps (some of which can be combined for description) 
that are repeated as many times as are required to execute a program. 



ARITHMETIC AND CONTROL UNITS 



205 



Instruction 
now in 

instruction 
register 



Storage Unit 



062 



ADD 268 



268 



Operand 



Next — ■ 
instruction 



063 



SUB 495 



495 



Operand 



9 .---A.....i> 



© 



i .. i 



Address 
Register: 268 



EH— (4) 



Instruction 
Counter: 062 



htP 



▲ 
i 



© 



Decoder: ADD 



I 



Address: 268 Operation : ADD 
Instruction Register 



Control Unit 






Content of 
Location 268 



ADD 



Arithmetic 
Unit 



DATA FLOW 



CONTROL LINES 



1. Transfer operation part of instruction to decoder: ADD. 

2. Transfer address part of instruction: 268. 

3. Transfer operand to arithmetic unit. 

4. Execute instruction: ADD 268. 

5. Increase number in instruction counter by 1 :063. 

6. Transfer instruction count to address register: 063. 

7. Get instruction" SUB 495" and put in instruction register. 

Figure 6-5. Operation of control unit in a single-address computer 

The numbers correspond to those in Figure 6-5 showing data flow and 
control lines, assuming that an instruction is about to be executed: 

1. Transfer the operation part of the instruction, ADD, from the instruc- 
tion register to the decoder. 

2. Transfer the address part of the instruction, 268, from the instruction 
register to the address register. 



206 AUTOMATIC EQUIPMENT 

3. Copy into the arithmetic unit the operand (which may be either data 
or an instruction) located at address 268. 

4. Execute the required operation, ADD, in the arithmetic unit. Notify 
the control unit when the operation is executed. 

5. Increase the number 062 in the instruction counter by 1, to 063, to 
indicate the address of the next instruction. 

6. Transfer the number 063 from the instruction counter to the address 
register. 

7. Get the instruction, "SUB 495," located at address 063 and put it 
into the instruction register. 

Control Console 

An operator and the machine communicate with each other 
through the machine console, several examples of which are shown in 
Figure 6-6. Man-machine communication is necessary for several 
reasons. An operator starts processing by placing the first program 
instruction in the instruction register or by setting its location in the 
location counter. The control console can be used for detecting pro- 
gram mistakes — often called "debugging." The console is also useful 
for locating machine malfunctions. The console has neon lights or 
some other means of displaying the contents of desired storage loca- 
tions or registers. Switch settings enable an operator to stop opera- 
tions, read the content of a storage location, observe an instruction, 
or examine the arithmetic unit after each instruction. A console usually 
shows why a machine stops because of input, overflow, or program mis- 
take. An operator may trace the mistake by repeating the program step 
by step. 

A console may be used to enter small amounts of data when the 
computer is stopped. Tracing a routine by means of the console may 
be inefficient because it is much slower than normal operations. There 
are special debugging programs, to be described in Chapter 8, that 
will print out, for each instruction executed, the contents of the in- 
struction counter, instruction register, accumulator, M-Q register, and 
each index. A post-mortem routine can be used by the programmer to 
locate mistakes without tying up the computer. 

The control console is also used to interrogate a file stored on a 
drum or disk. Any record desired is indicated on the console keyboard 
and the record itself is typed out on the console typewriter. 

Some manufacturers offer an auxiliary unit, called a file reference 
unit, for referring to or interrogating any magnetic tape. Since search 
time is longer than for a drum or disk, the file reference unit is separate 
to avoid disturbing the rest of the system. The reference unit controls 
a particular magnetic-tape unit from which it is desired to extract spe- 
cific information, such as details for a stock item. The desired part of 
the record is printed out by a self-contained printer. 



ARITHMETIC AND CONTROL UNITS 




Figure 6-6. Operating consoles 



208 AUTOMATIC EQUIPMENT 

CONTROL UNIT INSTRUCTION ROUTINES 

A control unit causes other components to carry out the necessary 
operations. A list of coded instructions for the computer to follow is 
called a "routine." A routine or program tells the control unit: 

1. What operations to perform 

2. Which data to use 

3. Where to place the results 

Instruction routines are supplied to data processors in several 
ways. One way to supply a routine is to design it into the equipment. 
The routine, existing as a fixed electric circuit in the machine, is limited 
to use in a narrow class of applications. 

The use of a wiring board is a second way to supply an instruc- 
tion routine to a processor. Wires are inserted in a plugboard to select, 
in their proper sequence, the operations desired. Spare wiring boards 
are set up with other routines and used when wanted. A plugboard 
serves a similar purpose in some computers. A change in the nature 
of a particular problem involves rewiring or replugging its board. 

A third way to supply a routine is to put instructions in internal 
storage just as though they were data, as described in Chapter 3. 
Processors that store instructions in the same way as data are called "in- 
ternally stored program equipment." An instruction routine on tape 
or cards is read in through input devices and put in storage. The equip- 
ment can be given a new or modified instruction routine by reading in 
another tape or set of cards. An important feature of internally stored 
programs is the fact that they can be modified by manipulating them 
just as though they were data. 

Some equipment uses a combination of internal storage and plug- 
boards to set up routines and makes the best use of each scheme for 
controlling operations. 

Special-purpose Equipment 

A computer with instruction routines designed into the circuits 
and wires is called "special-purpose" equipment. Such equipment 
often proves efficient for a single application — such as inventory con- 
trol or demand analysis — that keeps it fully loaded. On-line operations 
requiring many interrogation stations are often handled by special- 
purpose equipment. 

It should be pointed out that some factors offset the advantages 
of efficient, specialized operations. Special-purpose equipment may 
have higher research and development cost per unit than general- 
purpose equipment, since fewer copies of a particular design may be 
made. In some cases, poor systems analysis results in equipment being 



ARITHMETIC AND CONTROL UNITS 209 

designed to solve the wrong problem. Furthermore, equipment inflexi- 
bility exposes it to the risk of being discarded whenever the applica- 
tion changes. 

Externally Stored Routine 

Several models of small computers have instruction routines stored 
in a wiring board or plugboard. Wires or pins in a board inserted in 
the machine call up operations in their proper sequence. Each appli- 
cation requires the use of a separate board. 

An instruction board is unwieldy for a lengthy routine, for a dif- 
ferent instruction board is needed for each major phase of processing. 
Wired instruction routines are not alterable while the machine is 
running, although they can make some decisions and choose different 
processing paths. The instruction boards are flexible enough for most 
problems handled by small computers. Equipment with wired instruc- 
tion boards is more flexible than special-purpose equipment; but it is 
less readily adaptable to new applications than is internally stored 
program equipment. Wired-instruction equipment may be much less 
expensive than other types. 

Internally Stored Routine 

As pointed out earlier, instruction routines can be stored internally 
along with data. The highest-speed storage in the computer holds 
the instructions and data while they are in use. Each instruction, which 
must be in a form that the computer can interpret, orders it to perform 
an operation. A control unit handles instructions in a particular format 
which may contain 1, 2, 3, or 4 "addresses that identify a storage 
location, register, or device in which data or instructions are stored. 
Each instruction format will be considered briefly. 

Single Address. A single-address instruction, in its simplest form, 
has two parts: 

1. The code for the operation, such as addition or subtraction 

2. The address of an operand specifying the location of data to be used 
or the location in which to store an answer 

Three single-address instructions are required to add 2 numbers 
and store the total. Many instructions do not involve arithmetical 
operations. Numerous instructions are required for data input, result 
output, jumps in program execution sequence, shift of accumulator 
content, and index count to keep track of number of loops completed. 
An input-output instruction identifies which unit and storage loca- 
tions are involved in data transfer. A jump instruction states the "jump- 
to" point in the instruction routine. A shift instruction specifies 



210 AUTOMATIC EQUIPMENT 

whether the shift is to the left or right and the number of places. Index- 
counting instructions specify the particular index counter to use, the 
initial setting, the amount of increase or decrease during each operating 
loop, and the location to which the program proceeds. 

The instruction counter of a single-address computer automat- 
ically increases by one after each operation is executed to indicate 
where to obtain the next instruction. Instructions are stored in sequen- 
tially numbered addresses; but a jump instruction can change the se- 
quence of execution by resetting the instruction counter when a certain 
specified condition arises — such as completing the desired number of 
loops or encountering a negative number. Operations start at the new 
address, but instructions are again executed in sequence. 

One and One-half Address. A variation of the single-address in- 
struction scheme is the one and a half address scheme. For example, 
"ADD 268,063" may mean: "Add the content of location 268 to the 
amount in the accumulator and get the next instruction from location 
063." An instruction counter is not necessary because each instruction 
specifies where to get the next instruction. This scheme is reminiscent 
of a treasure hunt where each "treasure" contains directions on where 
to find the next one. 

The plan of one and a half addresses is useful only if instructions 
are placed in storage at intervals, instead of in sequence. Instructions 
are spaced out (interlaced) in magnetic-drum storage to save access 
time. The "half" address of each instruction can be used to minimize 
access to the next instruction. 

Two Addresses. A two-address instruction may contain an opera- 
tion and two addresses, both of which may refer to operands. An in- 
struction, "CAD 437, 438," might mean: "Clear the accumulator 
and add the contents of storage locations 437 and 438." 

Three Addresses. A three-address instruction specifies three 
operands. Two addresses indicate the operands involved and the third 
specifies where to store the results. "ADD 102, 252, 402" may mean: 
"Add contents of locations 102 and 252 and store the total in loca- 
tion 402." Instructions are executed in sequence and a control counter 
keeps track of the instruction being executed. A variation of the three- 
address system uses one address to indicate the location of the next 
instruction, in which case the instruction counter can be omitted. 

Four Addresses. A four-address scheme has been used in a few 
computers. Two addresses indicate the locations of the operands, the 
third indicates where to store the results, and the fourth indicates 
where to get the next instruction. 

Comparison of Address Systems. Each address scheme has some 
advantages. Multiple-address equipment may be easier to program 



ARITHMETIC AND CONTROL UNITS 211 

than single-address equipment, but multiple-address equipment also 
requires more electric circuits and components. 

The efficiency of an address scheme is affected by the types of 
operations involved. If many complex operations are involved, a three- 
address or four-address system may be preferable to a single-address 
computer. On the other hand, some operations may be inefficient be- 
cause of the required instruction format. Three-address addition in- 
structions may require storing each sum even though a long series of 
additions is involved. Single-address instructions might be faster for 
the simple operations involved in summing a series of numbers. A one 
and one-half address scheme may be used to minimize access for a 
computer that uses a drum for internal storage; if so, an instruction 
counter is not needed. 



ACCURACY OF ARITHMETIC AND CONTROL OPERATIONS 

It is usually demanded of computers that they never give inac- 
curate results, either because of arithmetic or control operations. 
Operations are considered satisfactory only if possible equipment mal- 
functions can be reported so that remedial action can be taken. Re- 
liability may be measured in terms of whether malfunctions are re- 
ported, instead of how many malfunctions occur. In fact, computer 
users often claim that "Our equipment has never made an undetected 
error." To which one might reply: "Of course not, for if an error is 
not detected you are not aware of its existence." 

More seriously, in order for a computer to be highly reliable there 
must be a method, first, for detecting errors that are made and, second, 
for correcting these errors. There are a number of ways to detect and 
correct computer errors (Mauchly, 1954): 

1. The computer checks each arithmetical operation or transfer in a way 
that is likely to catch almost all errors. When an error is detected, 
the computer repairs itself and continues operations. 

2. The computer automatically detects almost all errors, then repeats 
operations if erroneous results are detected, and continues. 

3. Automatic error-detection circuits cause the computer to stop so that 
the operator can take appropriate action. 

4. Every problem is run at least twice and results are compared. Diag- 
nostic tests run at intervals verify that the computer is operating 
correctly at that time. Maintenance and problem-result correction 
are taken, if a malfunction is detected. 

5. No automatic checking is included; but complete reliance is placed 
upon programmed checking to insure correct results. Diagnostic tests, 
which include marginal testing, are used to indicate correct opera- 
tion of the computer. 



212 AUTOMATIC EQUIPMENT 

The third scheme — stopping operations upon detection of a mal- 
function — is used in Univac and involves an addition of about 25 to 30 
per cent to the cost of the central computer. The increase in cost of 
the entire system is, of course, far less. The fourth scheme is widely 
used for punched-card equipment and is sometimes advocated for com- 
puters. The fifth scheme — complete reliance on programmed check- 
ing — depends upon the nature of the application. Mathematical ap- 
plications may be ingeniously checked for less than a 30 per cent in- 
crease in programming cost and running time. Business applications, 
on the other hand, may require much more extensive checking that 
increases programming and operating costs by two-thirds. Further- 
more, some applications may not be amenable to programmed checking 
so that the merits of programmed checking and built-in checking are 
not directly comparable. 

SUMMARY 

The arithmetic unit performs the arithmetical operations of addi- 
tion, subtraction, multiplication, and division. Variations of these 
operations give increased flexibility. The control unit carries out in- 
structions in the proper sequence, interprets each instruction, and 
applies proper signals to the arithmetic unit and other parts in keeping 
with an instruction. 

An arithmetic unit has "registers" for storing words while they 
are being used. The accumulator which is long enough to hold a com- 
puter word, overflow bit, and sign, forms the sums and other arith- 
metical results. The M-Q register holds the multiplier when the mul- 
tiplication starts but holds the right-hand digits of the product after 
multiplication is completed. The left-hand digits of a product reside 
in the accumulator. 

An adder accepts two or more input signals, adds them, and puts 
out an appropriate signal. "And" gates, "or" gates, inverters, and 
delay circuits make up an adder. Reviewing the arithmetical opera- 
tions on a desk calculator sheds some light on how computers operate. 
For addition, the lower dial on a desk calculator corresponds to the 
accumulator. The upper dial is like a cycle counter in a computer. Ad- 
dition on a desk calculator illustrates performance of the operations 
for clearing and adding, accumulating a running total, and counting 
the loops in a cycle. Overflow can, of course, result from continued 
addition. 

Addition of binary numbers follows the rules for binary arith- 
metic; but binary-coded decimal, such as the 8421 code, involves spe- 
cial rules for carries because 6 of the 16 possible numbers are skipped. 
Subtraction is easier for the computer by means of complementing and 



ARITHMETIC AND CONTROL UNITS 213 

adding operations than by straight subtraction. A programmer simply 
considers the combined operations to be a straight subtraction. A nines 
complement is formed by subtracting a decimal number from 9999999. 
A binary number appears to be "subtracted" from 1111111 to get 
its ones complement, but actually, each is merely changed to 1 and 
each 1 to 0. Complements of binary-coded 8421 decimal numbers are 
formed in the same way. Later, the end-around carry operation adds to 
the right-hand digit any overflow that occurs while adding a com- 
plement. This practice compensates for the 1 originally omitted from 
the ones or nines complement in the right-hand position. 

Numbers can be multiplied by repeated addition, by adding and 
shifting, or by using multiplication tables. Longhand and desk-cal- 
culator multiplication operations indicate many features of computer 
methods. The accumulator and M-Q registers are used together in 
multiplication. In the add-and-shift method the M-Q register holds 
the multiplier at the start. The multiplicand is added in the accumu- 
lator as many times as are specified by the right-hand digit of the mul- 
tiplier. After each addition, the contents of both the accumulator and 
the M-Q register are shifted right one position. The next digit to the 
left in the multiplier is used for adding the multiplicand the proper 
number of times to the shifted partial product. When the operation is 
finished, the left-hand digits in the product are in the accumulator and 
the right-hand digits are in the M-Q register. The whole product can 
be put in two storage words, if such precision is wanted. In many cases, 
the product has so few digits that it can be stored in one word. But 
if the product digits wanted lie in both the accumulator and the M-Q 
register, a shift operation is necessary to get the desired digits in either 
the accumulator or the M-Q register before storing them. 

Both the required circuits and operating speed are related to the 
multiplication and division methods used. The objective is to get an 
economical balance between equipment and operating cost. Division is 
started by clearing the accumulator and M-Q registers, putting the 
dividend in the accumulator, and placing the divisor in a special regis- 
ter. The dividend is shifted one position to the left and the number 
of times that the divisor can be subtracted from the dividend is entered 
at the right end of the M-Q register. Contents of the accumulator (re- 
mainder) and M-Q register (partial quotient) are shifted left one posi- 
tion, and the operation is repeated. 

Serial-mode operation handles one digit at a time. The parallel 
mode handles all digits in one operation and is faster than the serial 
mode, although at the expense of more equipment components. 

Logical operations, which are a special kind of arithmetical opera- 
tion, include comparison, extraction, and shifting. 



214 AUTOMATIC EQUIPMENT 

A control unit usually contains an instruction register, address 
register, instruction counter, and decoder. These elements hold the 
instruction and the addresses of the operand and the next instruction 
to execute. The control unit also sets up circuits for executing the in- 
struction. 

An operator communicates with the equipment via the control 
console, which is used to start operations, monitor processing, read 
some data in and out of storage, and detect certain kinds of mistakes. 

Instruction routines are furnished by internal circuits and wires 
for special-purpose equipment. External wiring or plugboards give 
some flexibility to equipment. General-purpose equipment operates 
with internally stored programs that are read in like data to make the 
equipment highly versatile. 

Internally stored program equipment uses various instruction 
formats. A single-address instruction specifies an operation and one 
operand. A two-address instruction specifies one operation and either 
two operands or one operand and the location of the next instruction. 
Three-address and four-address instructions are also used. Each in- 
struction format is best suited to certain applications. 

A high degree of computer reliability in arithmetic and control 
units is achieved by permitting the equipment to make few errors, de- 
tecting most of those that do occur, and correcting those that are de- 
tected. The merits of programmed and built-in checking are never quite 
settled to everyone's satisfaction. 

REFERENCES AND SUPPLEMENTAL READINGS 

Mauchly, John W. "The Advantages of Built-in Checking," pp. 99-101 in 
Proceedings of the Eastern Joint Computer Conference, New York, The 
Institute of Radio Engineers, 1954. The user's desire for perfection — a sys- 
tem that never breaks down and never makes errors — cannot be achieved; 
but improvement is possible by measuring the deviation and using the re- 
sult to improve performance. Schemes include error detection and self- 
repair, repeat, or halt; comparison of results from two or more runs; and 
complete reliance upon programmed checking. Built-in checking features 
increase the cost of the computer, whereas programmed checking increases 
the user's programming and operating costs. The two approaches are not 
wholly comparable, and their relative merits depend upon the applications 
intended for them. 

Richards, R. K. Arithmetical Operations in Digital Computers, New York, 
D. Van Nostrand Co., Inc., 1956, 384 pp. This book contains five chapters 
of interest on arithmetical operation and controls. Chapter 4 covers binary 
addition and subtraction; Chapter 5 covers binary multiplication and divi- 
sion. There are two corresponding chapters, 8 and 9, for decimal opera- 
tions. Chapter 11 deals with computer organization and control. 



CHAPTER SEVEN 



AUTOMATIC 

PROCESSING 

EQUIPMENT 



Automatic data-processing equipment has been treated in separate 
chapters as though it consisted of individual components: input and 
output equipment, storage devices, and arithmetic and control units. 
In this chapter the components are "assembled" into sets of equip- 
ment — often called systems — that are available for use; these systems 
show what equipment manufacturers have designed for data-process- 
ing applications. The tabulated details presented in the Tables may 
be useful as an initial guide for selecting equipment for further con- 
sideration. 

This chapter is a synopsis of the characteristics of automatic proc- 
essing systems: speed, storage, instruction repertoires, tapes and pe- 
ripheral equipment. In a sense, it is a general model of comparative 
facts. The Tables, however, should not be used as a check list for ac- 
cepting or rejecting a particular set of equipment, because many factors 
that cannot be readily tabulated must be considered. Furthermore, a 
tabulated list may be incorrect because published specifications are 
sometimes difficult to interpret. 

An index of how suitable a particular set of equipment is for a 
particular application would, of course, be invaluable. Consider a 
situation involving large files, many inputs originating at scattered 
points, random references, and a tight time schedule. A single index 
for measuring the important features of the application requirement 
and the equipment available would simplify equipment selection. 
An index might be constructed by combining the various attributes 
and assigning to them appropriate weights. But a single, simple index 
is hardly suitable, for many other attributes must be considered: price, 
reliability, and service, to name a few. 



215 



216 AUTOMATIC EQUIPMENT 

FEATURES OF DATA PROCESSING EQUIPMENT 

The equipment discussed here is usually classified as large scale or 
medium scale. The classification is somewhat arbitrary, however, since 
several features — storage, speed, and input-output — are involved. In 
general, large systems have higher computing speeds and larger in- 
ternal storage than medium-scale systems. Large data processors 
usually handle alphabetic and numerical data. Medium systems, on 
the other hand, are usually built as numerical machines and require 
modification to handle alphabetic data. The list of equipment com- 
pared in the Tables is representative of large and medium computers, 
but it is not meant to be exhaustive — omission of a particular com- 
puter should not be interpreted as having any especial significance. 

Components of large- and medium-scale automatic data-process- 
ing equipment are covered first. Next, some consideration is given 
to the dimensions of storage, speed, and versatility. 

Internal Storage 

The facts concerning internal storage, compiled in Table 7-1, 
cover type, basic size, expansion factor, access time, transfer mode, 
and parity check. Magnetic-core internal storage is common in large 
computers, and magnetic-drum storage is common in medium-size 
computers. Occasionally both a small amount of core, for speed, and a 
large drum, for volume, are used in a medium-size computer. 

Basic storage size is stated in decimal digits, alphanumerical 
characters, binary bits, or a combination of these, depending upon 
the methods available for representing data. Machines that represent 
numbers in binary fashion appear to have the largest capacity. The 
binary capacity must, of course, be converted to decimal or alpha- 
numerical characters in order to relate machine capacity to the data 
to be stored. The number of decimal digits and alphanumerical char- 
acters that can be stored are the same except where a machine uses a 
two-for-one or three-for-two scheme to store alphanumerical char- 
acters. In one case the sign position is not needed for alphanumerical 
characters so that more letters than numerals can be stored. 

Storage capacities for binary computers are here converted to deci- 
mal and alphanumeric capacities corresponding to magnetic tape codes 
(6 bits equal 1 character, usually). However, if binary numerical repre- 
sentation is used, the capacity may be greater than indicated in the 
Tables. For example, the largest number that 36 bits can represent 
alphanumerically is 999,999. The same 36 bits used as a binary num- 
ber can represent a number as large as 68,719,476,735 which is 2 36 -l. 

The instruction capacity is the number of instructions that can be 
stored in the basic storage. The number of addresses contained in each 
instruction is commonly 1 or 3. 



ffj 

co a. U 



t o 
33 2 



? 

O 
CD 

E 



w 
< 



-0^3 



3 "5 



S.1 



= .E„ 






= H 

« 2 

E o 

- cU 



.i « 













3 


i 








tc 




CI 


< 


CO 

r 


z 




3 




3 




3 





3 







"O i 

"O o ! 

o £ ' 
ill 

as 



— CO 3 



Ic3 ah 



10 <■ 



2 s 

CO 03 






ZZ 



§3 
eg to 



2 3 
co to 



,2 



: a 



218 AUTOMATIC EQUIPMENT 

The expansion factor indicates the ratio of increase for the basic 
storage. A factor of 8 means that the largest storage for that computer 
can be eight times as large as the basic storage. 

Access time is the length of time required to obtain either a word 
or a specified number of characters from storage, with the transfer, 
of course, being made in a corresponding mode. A parity check is 
usually made on transfer of data into storage or out of storage, but 
in some cases it is omitted completely. 

Table 7-2 shows the word content in terms of whether parity-bits 
are used with each word. Also of interest are the number of decimal 
digits, alphanumerical characters, and binary bits that can be stored 
per word. The number of instructions per word — 1, 2, or Yi — indicates 
the relationship between word and instruction storage. 

Several computers have no index registers, but others have from 
3 to 8 with 3 or 4 as the most common number. An index register, you 
will recall, is used in conjunction with the address contained in an 
indexable instruction to get an "effective" address during the execu- 
tion of the instruction. An index register content is not affected by 
execution of the instruction, but it is increased or decreased at some 
point during each loop, so that the desired effective address will be 
obtained during the next execution. Furthermore, the index register 
is used to keep count of the number of loops performed and, when the 
desired number is completed, to cause a transfer to another part of 
the program. In some cases indexing time is zero, but in one case it is 
90 ps (microseconds) per addition. One machine features a modification 
of the index register, wherein a group of special storage locations may 
be addressed within an instruction to cause the address of the instruc- 
tion to be increased or decreased. The net effect is to develop an effec- 
tive address, although neither the indexing word nor the instruction is 
altered by the process. 

Special internal checking ranges from none at all, in most cases, 
to dual arithmetic circuitry and data regeneration via "orthotronic" 
control. The idea underlying orthotronic control is that if the usual 
ratio of 1 parity-bit to 6 data-bits is increased enough, then a higher 
fraction of mistakes can be detected and corrected by means of the 
parity-bit relationship. 

Secondary Storage 

The kinds of secondary storage, shown in Table 7-3, are drum, 
disk, and a tape data file. Secondary storage is not an integral part of 
the computer but is directly linked to and controlled by it. The basic 
size of secondary storage is usually much larger than that of internal 
storage, and the expansion factor tends to be higher. 

Access times to secondary storage are 8 to 192 ms (milliseconds) 
for drums, Disk access time, involving the movement of mechanical 



W 

CQ 

c 
o 
U 
-p 
o 
5: 



.8 

= 01 

c 



84 

to U 



-Sis 
J^s 



6-£. 





li'o 








m < "O 




loi 


cc 




^ 




H 




^ 


i/> C 




| .2 

li 


l»H 


*XJ 


e 




« 








s* 


£ c 


© 


a> o 

J i 


"Q 




5» 




© 


■t c 



ill 

< c U 



.1 c 



o ™ c 
o St 



k *c 2 

-a 2 a 



j | 



■II 

to h a 






c S " 

c ? £ 
'3 j-c 
E «.S 






"■g E 

Is 



J'l 



1* 
u + 



c E, 
.2 E 



en 
Si 

-§ 

g 

o 
o 

C/3 



< c u 



q a 



oo 
oo 
oo 
o"o" 
oo 
oo 

oo «r 



oo 
oo 
oo 
©"©" 
oo 
oo 

©<N 






5 o c 

pa 

Bo? | 

S2S 



oo 
oo 
oo 
©"©* 
©© 
p.°. 



oo 
oo 
o© 
©"©* 
©© 
oo 



ill 

Ift ©© 



©© 
oo 
©© 
©"©" 
©© 
©© 
cotcf 



©© 
o© 
o© 
©"©" 
©© 
©© 

© <N 



©© 
©© 
© © 
©"©" 

00© 

-I© 



o o 
©© 
©© 



II 

DO 



AUTOMATIC PROCESSING EQUIPMENT 221 

parts, ranges from a small fraction of a second for data on adjacent 
tracks to about a second for data on a different disk. Tape data-file 
access runs into seconds, but transfers are then made at tape speeds. 
Transfer time runs from 16 to 96 jl/s per character for drums, which 
is at the rate of 10,000 to 62,000 characters a second. 

Operating Speed 

Operating speed, as shown in Table 7-4, is indicated by the stor- 
age access time, arithmetical mode, addition and multiplication time, 
and availability of floating-point arithmetical operations. 

Access times range from 8 to 960 fjs. Arithmetical modes are 
parallel — all characters in a word are handled at one time — or serial 
on a character-by-character basis. 

Addition time is stated in terms of synthetic three-address opera- 
tions — add A to B and store in C — to try to get comparability even 
though the computer's instruction format is either one-address or two- 
address. The synthetic three-address addition time ranges from 24 to 
15,648 ijs. In several serial machines the addition time is much longer 
for operands of 10-decimal digits than it is for those of 5-decimal digits. 

Similar comments apply to multiplication times, which are stated 
in terms of the synthetic three-address mode. Times are shown for 
multiplying 4 digits by 5 digits and 4 digits by 10 digits. A longer 
operand may not increase the multiplication time, but in some cases 
it doubles or triples it. In general, multiplication takes from two to 
twenty times as long as addition operations. 

Built-in floating-point operations (in which the computer keeps 
track of the decimal point) are faster than programmed floating-point 
operations. 

Instructions 

Instruction repertoires available in large computers range from 
several dozen to approximately two hundred distinct commands. Since 
all computers have comparable basic instructions, attention is directed 
in Table 7-5 toward selected instructions that may be of especial in- 
terest in data-processing applications. 

The add-to-storage instruction performs the equivalent of adding 
the content of the accumulator to the content of a specified storage 
location and placing the sum in that location. This instruction is useful 
for summarizing items to accumulate numerous totals. 

The intra-storage transfer instruction (often called "memory-to- 
memory ") is used for transferring words from one storage location to 
another location. It may be the only instruction that will transfer the 
content of an addressable register, other than the accumulator, directly 
to storage. A modification of the intra-storage transfer order permits 
the transfer to take place between dispersed storage locations and a 



■3 



on 



50 

o 



I £ 



-2 9- 



35 



II 



D) g> 

q a 



If 



CO 5 



2 8 



*l8 r« 

■5" ,3 






SS3 § 

Q O 



Q U 



E tJ" 0) O 

Q2Uh 



e3 e < 
E». 5- 

Q2 U. 



^3 



c3=2 



£§ 



p 






5! i) — 

c a. o 



71 



50 

O J) i 

3 



9 4)-° 

CJ-S 



^ 


a 




"5-n j£ 

111? 


^ 


Q. £ < .£ 


"S 


. 


oo 


£ 




five 
Add 

inq 


io 




J> 




w 


s. 


J 


et, 


PQ 




< 




H 


4! 




IsJ 




8.1 2 




5i^ 



at 



?! 

< CO 



E 

03 



!3 2 



111 



^2 
I ; 

Eh 

o. 



- E c 



5 E 
c 5 



10 
!g 

Eh 



I 1 



a a-c 

8. a 5= 



03 & 
2 S 



II 



224 AUTOMATIC EQUIPMENT 

block of contiguous locations. This transfer of data from dispersed 
locations may be performed independently or as part of an order to 
read or write on tape. The instruction refers to a stored table which 
specifies the addresses of the dispersed memory locations to be used. 

The repeat instruction causes the instruction following it to be 
repeated a specified number of times with the address part of the in- 
struction modified before each execution. This order is useful in the 
repeat-move combination to block transfer an arbitrary number of 
words from one part of storage to another. It is also useful in the table 
look-up operation, described below. 

Partial word addressing confines operations to a selected portion 
of a data word. The instruction specifies which characters are to be 
operated upon, and instruction execution time is a function of the 
number of these characters. 

Table look-up, which is available in four computers, utilizes a 
table consisting of a series of arguments (reference facts) arranged 
in a sequence of ascending absolute values. One or more functions 
(results within the table) are associated with each argument. Argu- 
ments and functions can be stored in the same word or a fixed number 
of words apart. The known argument is compared against the stored 
arguments to find the address of the equal argument, or the next higher 
one, if no equal is present. The address of the argument is used to cal- 
culate the data address of the function which can then be inserted into 
an instruction. 

The program-interrupt feature in one computer allows control 
to be transferred to memory location 0, if bit position 40 of the word 
contained in the real-time input register contains a 1, which must be 
supplied by the device that supplies data. The regular program is then 
interrupted and the address of the last instruction executed is stored 
where it can later be retrieved after the incoming data are stored and 
the regular program is to be resumed. 

The instruction to sense tape for availability provides for a transfer 
of program control based on the status of an individual tape transport, 
for some machines, or a tape coordinator or controller for others. This 
order is useful in avoiding delays in the main program caused by execu- 
tion of a tape command involving a busy transport or controller. 

The status of an input-output unit can be indicated by an "input- 
output" indicator which is turned on when the unit reaches an end-of- 
file or end-of-tape condition and remains on until turned off by the 
program or by a manual operation. When the end-of-file indicator is 
turned on, a transfer can be made to an instruction location specified by 
the transfer-on-signal instruction. The end-of-file subroutine or branch 
program may provide for the console typewriter to notify the operator 
to change tape or to alternate automatically between tapes and con- 



AUTOMATIC PROCESSING EQUIPMENT 225 

tinue operations. Magnetic tape interrupt characters or conditions 
may be end-of-file, end-of-tape, or other designated control characters. 

Magnetic Tape 

Magnetic tapes are widely used for file storage and for high-speed 
read-in and write-out. Features of magnetic tape that are of interest 
here are data form and density, block size and tape length, tape opera- 
tions, and data conversion and tape checks. 

Data Format and Density. The format and density of data on 
magnetic tape are shown in Table 7-6. The way that data are arranged 
across the tape is the lateral-tape format. The most common lateral- 
tape format is 6 data-bits and 1 parity-bit recorded across the tape to 
make one data channel. Two manufacturers use 12 data-bits and 2 
parity-bits for two channels of data. Usually 6 bits are used to repre- 
sent one alphanumerical character or one decimal digit, although in 
one case 1 Y2 decimal digits can be recorded in the space of one alpha- 
numerical character by using a two-for-three code scheme. 

The density of data along each channel ranges from 139 to 556 
bits per inch. For those computers able to handle individual bits, the 
density is also stated in data-bits per inch. Thus, for 6 data-bits across 
the tape, a linear density of 300 bits per inch would give 1,800 data- 
bits per inch. The number of alphanumerical characters per inch is the 
same as the linear density except when two or more character channels 
are recorded across tape. 

The tape speed, ranging from 75 to 150 inches a second, multi- 
plied by the number of characters per inch, gives the maximum number 
of decimal digits, ranging from 10,000 to about 100,000, that can be 
transferred per second. Some computers are designed to operate with 
both low-speed and high-speed tape, although perhaps not completely 
interchangeably. In actual use, the transfer rates must be reduced 
because of the time required to pass the inter-record gap even when 
running continuously. 

Block Size and Tape Length. Data-block size, running charac- 
teristics, and tape length are shown in Table 7-7. Some computers 
have fixed-size data blocks ranging from 120 to 1,024 alphanumerical 
characters. Others are able to handle variable-length fields that may 
have both a lower and an upper length limit, for example, 50 to 500 
characters. The lower limit of field length may be one character and 
the upper limit may be either the capacity of computer storage or the 
tape itself. 

The inter-block gap for tape acceleration and deceleration, when 
reading or writing individual blocks on tape, ranges from about .3 
inches to 1.5 inches. The inter-block starting or stopping time ranges 
from a few to about fifty milliseconds. In some cases the starting and 



GO 

o 



Q 
a. 



fcdO 

s 



B 

oc 

I'll 
III 






"8 3 



6 2 
15, 



JiSi 



E 42 



6 « P 



o 



2!^ 



g 3 



< 5 

81 



E 

- c - 



Ol r>] 









8P 



o 



^2 



III I 

< .£ iJ5 1= 



l> 


~5 -c 




-2 g 


w 


-9- 




M 


< 




H 





E s 

3 .Si 
C CO 

II 

< CO 



o © © 

<*fco' 



-C B O 

! S 



is 











rt 


o 


o 


o 


B^ 


z 


Z 


Z 










o 


o 


o 


o 


o 

CO 


2 


o 


3 


co- 


C\f 


csf 


«>q 












eg 




e\i 


rn 




c 




CJ 


3 


s 




Csl 


(N 


C] 




















Z 




>H 


>H 


Oj 








-o.E 
















1.1 


lO 


lO 


in 


CO 


CO 


t> 










«| 
























M 
























B 60 








O rt ^ 








'■5 S"5 








Igl 










CO 


CO 




1 21 






"H 


-9 &«o 








1 o- 








a u "" 








0* 








2 rt 
























-o 


E 


| 


s 










c 


S; 


M 


M 


o 




^ 


2 


o 







c 


















6 


c 
































> 


> 


> 


> 




(M 




■f 


1 




1 


lO 


ce 


< 


< 


< 


U 


EJ 


CJ 


U 


z 


P5 


PC 


CC 



!-l 



^ c 



1L 



^S 



228 AUTOMATIC EQUIPMENT 

stopping times between blocks are different, and they are also different 
for the reading and writing operations. These times differ when two 
separate heads are used; one for reading and one for writing. Since the 
reading head always follows (in terms of tape movement) the writing 
head, the starting time for reading will always be longer. This time 
will vary from execution to execution because of current variations 
in the drive mechanism as well as slight differences in the point where 
the tape came to rest after the prior tape movement. Accordingly, the 
tape times shown are average. 

The read-reverse feature permits a tape to be read while moving 
in the reverse of the direction in which it is written. It is invaluable 
for tape merge-sorting operations because the output tape from one 
pass can be used as the input tape on the next pass without waiting 
to rewind the tape. Of course, it may be possible to "overlap" tape 
rewinding with other operations and thereby reduce the preparatory 
time for the next pass. Rewinding speeds, which influence the amount 
of time required to change tapes that are in the forward position, vary 
from 75 to 500 inches a second so that the rewind time ranges from 
1 to 10 minutes. Tape lengths are customarily 2,400 or 3,600 ft., al- 
though some tapes are shorter. 

The independent tape-search feature permits tapes to be scanned 
for selected records. The search is initiated by the central processor, 
but proceeds independently, freeing the processor for other work. The 
search key or criterion will be located in a predetermined portion of 
each record; but the size and possible location of this key varies among 
the different machines. 

Tape Operations. Tape operations, as covered in Table 7-8, can 
be described in terms of the number of tapes that can be controlled 
by the computer at one time and the ability to perform simultaneous 
operations. The maximum number of tapes that can be handled by one 
tape controller ranges from 1 to 16 and the maximum number of con- 
trollers in a computer ranges from 1 to 8. The maximum number of 
tapes that can be controlled by a computer ranges from 6 to 64. 

Simultaneous-operation capability — the ability to perform some 
combination of reading, computing, and writing at the same time — 
ranges from nil in some computers to all three in others. In some cases 
simultaneous operation may be restricted to reading and writing while 
computing. Where simultaneous reading or writing, or reading and 
writing, with computing is not available, tape searching may be carried 
on simultaneously with internal processing. At the upper end of the 
scale, some computers are designed to execute several programs con- 
currently (by interlacing time-wise) while performing read-write simul- 
taneously. The maximum data-transfer rate, with a sufficient number 
of tape controllers, ranges from 12,000 characters to 1,536,000 decimal 



o 





































— ^ CU 










































J-O M 








i! 

E 2 
-c '5 c 


< 


+ 


co 


+ 


£ 


^ 


is 


§ 


+ 




% 


^ 


< 


1 


£ 


i 


i?i 


+ 

cc 


1 


+ 


z 


cc 


CO 


BC 


ca 


C£tf 


X 


cc' 


CC 




CC 


u 


z 


cc 


CC 


x: 


i§3 


cc 


CC 


US 




CO 




be 




CO ■* 


ef 


CC 






Tt> 


00 










f>l 






































^-^ 0) 








m o 

-B c 


< 
z 


cc 




+ 
cc 




| 

£ 






+ 

cc 




CC 


CO 

U 


-< 

z 


cc' 


cc 




J- O M 






+ 


Zd 




CO 








CO 




CD 






CO 


CO 
















s 


































J;0 & 








J) 
CM "5 


< 


| 




+ 




g 




| 


+ 




| 


CO 


< 


£ 


1 




t?l 




i 


is 

+ 


£<5 


z 


CC 




£ 




cc 




CC 


cc 

CO 




CC 

co 


U 


z 


cc 


cc 




e<5 

, — . d 

to M 




cc 


cc 


_"o 


< 


£ 


CO 


+ 

CC 




£ 


| 


1 


+ 
cc 




iS 


CO 


< 


£ 


? 


i 


ij — i CO 




^ 


+ 


cs£ 
£<3 


z 


05 


CO 




CC 


cc 


CC 




cc 


U 


z 


CC' 


cc 


CC 






cc 


cc 








































































































cu 
























0> 

Z 
'1 



0. 

1 


fl 

cu o 
cc 

-q 


+1 


o 

CO 

^O 

COJ= 

CJ 

en 


+ 


cu 
CC 


cc 






O CJ 
+ * cC 

cct: 1 
cc 






H 8 

CO o 

o 




< 
Z 


cc 


^ 

CC 


cc 


s'xr o 
If 8 


+ 

cc 


cc 


f 

CC 




'5 


































V 






o 2 i; 

Uj | 


O" 


co 


_ 


CO 


_ 


CD ■* 


_, 


CO 


_r 




1- 


CO 


_ 


30 


00 


£ 


c 
o 


a 
z 


<N 


< 


s 
































Z 


s 




Z 


5500 


o 
Z 


















































































1 1 


^ 


■* 


O 


CO 


CC 


mm 


2 


CC 


2 




< 


CO 


CC 


CC 


00 


CC 


< 
Z 


< 

z 


o 


o 

Z 


i^J 










































E . 

ill 


. 




o 


X 


CC 




CO 


9 


" 


<: 

Z 


CO 
CD 


CD 


CO 


CO 

CC 


CO 

CC 


CC 

in 

CSI 

5 


o 


CC 


§ 


Q, 


,_ 


IC 


.2 


3 


CO 




— 




















CO 


-s? 




2 

u 


- 


g. 

E 


6 
.a 


Q 
"5 


C 
C 




CC 


O 


r- 

o 
t - 


3! 


u 


s 


5 


CO 


CI 


CO 


3 


CO 
CJ 


E cu 

si 




CC 

— 

7 


.3 


1 




l 


ac 


2 

CQ 


CQ 


PQ 




cc 
< 


3 


CQ 

c 


CC 

z 


< 

2 


< 

cc 


< 

cc 


■- 


II 

SO 




> 
"- 

1=5 


s. 

3 



230 AUTOMATIC EQUIPMENT 

digits a second. Processing speeds are likely to be slowed when several 
operations are done simultaneously. 

Magnetic Tape Input Times and Tape Checks. The magnetic 
tape reading times for different record configurations and tape checking 
features are shown in Table 7-9. The card-to-tape format specifies 
the data configuration on magnetic tape resulting from off-line card- 
to-tape conversion. The times shown in all cases are for 1,000 records 
of the nature illustrated: 80 character cards, 500 character and 1,000 
character records. In order to minimize the machine time used to pass 
inter-block gaps, more than one record may be included or "blocked" 
into one block on tape, as specified. 

Special checks for tape operation are dual-head rereading, dual- 
level sensing, two-way parity, and several others. Only a few computers 
have the dual-head rereading feature that automatically reads and 
checks all data that are written. The dual-level signal-sensing capa- 
bility offers different advantages for reading and for writing. Two 
energy levels are employed to read data into two registers, high and 
low. On the reading operation, if the parity check fails for one register, 
the contents of the other register are used to correct the error. For 
writing, the two registers are filled and compared by means of the auto- 
matic reread from the second head. The high register will be in error 
if signal strength is weak, whereas the low register will be distorted 
due to excess noise. The longitudinal parity feature is included in many 
computers (in addition to the transverse parity-bit) to give two-way 
parity protection and to reduce further the possibility of undetected 
errors in reading. 

Additional checking features for tape include character counting, 
dual-parallel recording, and orthotronic control. 

Buffers and Printers 

The way that data are organized for read-in, as listed in Table 
7-10, affects computing speed because an interruption is required to 
store data. 

Buffer capacity is commonly one word or a small number of char- 
acters, although in some computers it is 60 or 120 words. Each trans- 
fer from buffer to memory causes a memory interruption for the time 
specified — which ranges from 6 to 15 microseconds in faster computers 
but is several milliseconds in slower computers. 

Printer speeds range from 150 to 1,800 lines a minute. Many are 
provided with plugboard format control, whereas others require pro- 
gramming control of copy format. The number of character positions 
per line is typically 120, although some printers have 80, 130, or 160 
positions per line and can produce a specified number of carbons. Some 
printers are restricted in the sense that they operate solely as either 
on-line or off-line devices. 



J2 

o 

so 

2 

o 






2 r. 



£ ° o 

4J O-C 



e 

O 



5 £S 



.eJ5 



"C3 

O 
50 
50 

1 



J K 



- §6 



I.eJS 



"SO u 



— i in 
3<" 



s 


0) 1) 

c t 


0. 




1 — 1 


O o 

1 1 


50 


a 


8.1 


a 


fi 6 


hn 




.50 


"2 o 

8 U 




4> C 


50 


^O 


£ 




tUD 




53 




S 




cp 




b 1 - 




W 




J 




« 




< 




H 





.£•* 



OlU c 

111 

s z £ 



c c 
DO 



1 1 



I II 

Z O Q- Q- 



ill 

lis 

a: °u 



*0 

CO 

V. 

CQ 
^3 









U!J 







lb CU 


0) cu 


Oj ij 










c a 


3 S 


B .c 


E B 


S 




























<sf 


OO 


c tt= 


etc 
OO 


38 


OO 


etc 

OO 


"* 


LO 


in 




LO 




c ■ 


§ 


(N 


o 


§ 


1 


o 

CM 


'". c 














o cm 

00 — < 


>- 


z 


el© 

lis 


c 
Z 


cu' 


z 


J 5 


8 


8 




OO 

o o 


s 


oo 

OO 


S 








co a> 




LO o 








zla 














■ 0] 














<|-H 


























3 














X 




3 




3 


3 






E 


CO 


1 

0) >, 


Oi 


CO 




-a 


3 „ 




— -C 




-a 


< 
z 


> 


"5 





CQ | 
-a 


a! 
o 
lo 


i 




-a 




-a 






"2 


< 
z 


1 




> 


o 

aj E 


-fi 
LO 


1 


■ c 
o 
Z 


-a 


_c 


"2 
o 


11 


_c 


1 

CM 


5 


^ 


i 


"2 £ 


© 


+ 












C 












M 










o " 














* & 




cm 










d 
























































" 








_,, 




























CO 


























lO 


| 


o 

CM 


00 




- 








CM 










6 


_ 


C 


~ 


s 


lO 


P- 


.a 
-a 




o 




o 


o 


£ 


i; 


>s 


CO 


r~ 


t- 


53 


- 


« 


c 


2 


S 


s 


U 


§ 


X 


2 


CQ 


CO 





<u cu 


. c .£ 


c E 






etc 

OO 


3S 


in 


LO 


o 

CM 


2 


£ 






~ 








a 




■c . 




a 




c/j 


s 


X ( 

o o 








| 








O _ 




S b 






s 




cm 






-a en 




<U CD 








B ■- 




CU > 

C Cv 
E T3 

CU 3 




^ a, 












y o 




> "B 


-a 


-o |- 


o 




£ 


£^5 








c £ 








3 f 




•si 












cs g 




E 8 


"S 




o 


<J3 * 


£ 


s~s 




§1 




y 




o a 




J Z> cu 




■M M 








S 






J - 


p-S 


.15 




s 




s 






<J 


2 


CC 


s 


3 





cu cu 








y V 


D <u 


0/ cu 


CU cu 


1) cu 








.5 ■£ 


c .c 


C .3 


a c 


.£ •£ 


.£ ■£ 


c a 


3 B 


E 

^-5 


B 




IS 


= a= 


etc 


BfcC 


etc 


etc 


Ci* 


EfcB 






OO 


OO 


OO 


OO 


OO 


OO 


OO 


O o 


6 




rr 


lO 


CO 


CO 


CO 


LO 


LO 


LO 


- 


LO 




o 










o 












© 


| 


§ 


g 


§ 


§8 


8 


8 


8 


| 




CM 




V 


cu 
















>H 




"T 3 

fcfc o 

O 


i 1 


.3_>, 
"T 3 

fcts o 

O 


z 




cu 


cu 


o 
Z 






£ 


9° 






















3 

z 


{2g 










O 










o 




o 


o 


o 




8 










o 
en 




o 

CO 


o 

CT5 


§ 


o 


o 


O 


o 




6 




o 


o 


6 


8 


o 


o 

CO 


o 

CO 


8 




8 




8 


8 


8 




o 












2 
< 


oo 






















O LO 
CO 00 




















































3 




w 


H'c 






3 

00 




S 


3 


3 


CM 


i 

lO 


E 


2 £ 








LO 


LO 


LO 




o 


LO 

CO 


|E 

CM "^ 






















CM 




















































co S 

CO^> 




















"2 




b 3 
3 £i 

E 




-o 


-o 


"2 




"2 

o 

o 


"2 



8 


"2 

o 
o 

CM 






"2 


"2 


-o 


-o 


"0 


"2 




^ 


"2 


_^ 




o 














-3 




o 




£ 


£ 




cu 
H 


cu 
H 


^ 


U 


CO 


£ 


CQ 
c/3 cd 








4j 


^ 


4^ 






3 3 


-c 


c^ > 








C 3 


3 3 


C 3 






— O 




3 E 


2 


"2 

o 




•- o 
^■1 


— o 

° o 


— o 

™ is 


"2 




o 




1 


+■§• 

"2 + 








»00 


«>00 


<»co 






ss 


2 












































g-a 






















* fe 






















o s 






















— CM 






















l> 
















_ 




















o 


"cu 




















o 


-a 




















o 


o 








% 


U 

5 

5 

o 


8 


8 


s 

LO 


I 


C/3 


^2 

CJ 3 
n3 Cu 


o 


8 


8 


z- 


CC 


< 


< 


< 


s 


is 6 


> 


> 


C/3 Cl 


LD 


U 


o 


O 


U 




3 C 




B 


uc 5) 


2 


s 




z 


CC 


CC 


CC 


f- 


3U 


D 


D 


^3H 



2^ 

i.S! 



n 



Q 

"8 



E I 



=> ° £ 
• mo 

I c© 0> 



"Sg 



-c 












8-f 


00 


CO 


CO 


CO 




» = 


t-" 


r-" 




00 ^-' ■ ^_ 


O* <=" CD 


to" 


co" 


co z us z 


so" 
. in 


ID 


in 


us 


lO 
















o 


o 


o 






■^2. 


§„ 


8„ 


o 

CO b, 


\ \ 


\ 


_c 








-C -g < 


-= < 




©"Ic 


o"Ic 


©"j= 




° ^ 


s 


© "3 

©" 


IB* 

o" 


(Do 

o" 


o o 2 

CO CO 


8 2 


























-C 


J3 




_c 




% < 




O 


CJ 


o 


° o < 


1 


o 
o 
o 


o 
o 
o 


o 
o 
o 


1 § z 


1 * 


_c 












-Q O 








-h o CO 




:« c 








CM — < C 


c 


k - 


CM 


CM 


CM 


o c o 


o 


* a 








H e2 z 


Z 
















>H 


>- 


£ 


cS £ < 


o 
Z 




£ 


E 


E 


E E 


E E 




a 


a. 


a 


& & < 


a a 








o 


O O 




Q 


§ 


o 


o o Z 


© © 




lO 


in 


in K 


<m in 


6 

Q. 
U 


E 


E 


E 


1 E 


E E E 


o 


a 


D. 


§ § Z 

CM ~ 


a a. a 

O O O 


o 
8 


o 

9 


o 


O 

o 


cm in us 










CO 












c 






_c 




_C 






-a 


-a o 


T3 O 


-o o 


o o _ 

CM -H g 






as C 




rt c 






Cu 3 
CO 


P 3 


Cy 3 


e2 e2 g 

c 
Z 

_ "53 
© -a 
© o 


CM 


1 


lO 


8 
in 


3 

lO 


© "5 

CM V « 

ill? 


in 

2 2 

rt co . 


cc 


< 


<! 


< 


5 •- E .fc 


> GO & 


CJ 


u 


U 


CJ 


2 S o c 


c w« 


Z 


DC 


OS 


cc 


- DU D 


3 OH 



234 AUTOMATIC EQUIPMENT 

Card and Tape Devices 

The important features of card and tape devices, as shown by 
Table 7-11, are the operating speeds and the number of devices that 
can be connected. 

Card-reading speeds range from 150 to 2,000 cards a minute. 
Punching speeds are typically 100 cards a minute, although some 
equipment punches 150 or 250 cards a minute. The number of card 
devices that can be connected to the computer ranges from 1 reader 
only to 63 possible devices. Plugboard format control is included for 
most computers. 

Punched-paper-tape reading speeds range from 200 to 1,800 
characters a second, whereas punching speeds are commonly 60 char- 
acters a second. From 1 to 63 paper-tape devices can be connected 
to some computers, although many make no provision whatever for 
paper-tape input and output. Those computers that do handle punched 
paper tape usually work with 5, 6, 7, or 8 channels. 

FEATURES FOR EQUIPMENT APPRAISAL 

Seven features of data-processing equipment — internal storage, 
secondary storage, operating speed, instruction repertoire, magnetic 
tape, buffers and printers, and card and tape devices — have been dis- 
cussed. They were covered in some detail because all equipment has 
these features and concrete facts about them are available. 

Nevertheless, other ways of describing equipment in order to ap- 
praise it are highly desirable. Management does not buy equipment 
because of computation, storage, and printing components, as such. 
Equipment is obtained because of its ability to meet application re- 
quirements. A single "index" to measure equipment and application 
requirements would be valuable. Selection might then be reduced to 
simple rules: one could find the index for the application, then find the 
indexes for the equipment available, and finally, select that set of 
equipment with an index closest to the application index. 

Regrettably, no such index exists. A single index for equipment 
and problem appraisal is difficult to devise, for many features must be 
considered when trying to get the best match of equipment and appli- 
cation. Three features are discussed here — storage, speed, and versa- 
tility — at the risk of omitting some. 

Storage and speed were discussed earlier from the viewpoint of 
equipment alone; here they are considered in terms that are common 
to both the equipment and the applications. 
Storage 

Computer storage was classified as internal and secondary storage, 
which was described in terms of size, transfer mode, and word con- 
tent in Tables 7-1, -2, and -3. 



AUTOMATIC PROCESSING EQUIPMENT 235 

Internal Storage. High-speed, internal storage costs more per 
unit than secondary storage. Internal storage may be only a fraction 
of the total machine storage. One objective in computer design is to 
balance the cost of designing and building high-speed storage against 
the cost saved with its superior performance. Limited internal storage 
requires segmenting the data or the program, or both, to fit into stor- 
age. System efficiency may be reduced because other segments of the 
program and data must be transferred from secondary or external stor- 
age in order to continue computations. 

Many medium-scale computers have only a few hundred or a 
thousand words of internal storage. Some large systems have, only a 
few thousand words. 

In recent years it has seemed that the demand for internal storage 
capacity would always outrun the available storage. Such large in- 
ternal storage is now being designed and built that a programmer may 
have a large program completely at his command. But the size and 
complexity of business problems will continue to grow, so that even 
with extremely large storage, ingenious programming will be required 
for efficient operation. 

Buffer Storage. Buffer storage is a synchronizing element be- 
tween two different forms, usually internal and external storage. 

Buffer storage increases the effective operating speed by reducing 
the time required for data transfer between external and internal stor- 
age. So far as the computer is concerned, this time is merely what is 
required to read in or out of the high-speed buffer. Computation con- 
tinues during the transfers between buffer storage and either secondary 
or external storage in some, but not in all, machines. Complete buffer- 
ing for computer input and output permits concurrent operations of 
read, compute, and write. Some computers, as listed in Table 7-8, can 
obtain data from several input sources concurrently without inter- 
fering with other computer operations. 

Record Length. Record length affects the effective rate of data 
transfer to and from secondary and external storage. File records may 
be simple multiples or fractions of computer record length. If not, 
clever programming is required to avoid waste. Records on tape are 
separated by an inter-block gap of constant length for tape starting 
and stopping. The inter-block gap fraction of tape for systems using a 
fixed record length is determined by the manufacturer. 

Variable-length records on tape have a constant-length inter- 
block gap, which will occupy a high fraction of tape if records are 
short. Long records have only a small fraction of tape for gaps. Ef- 
fective data transfer rates are, therefore, affected by the fraction of 
tape occupied by gaps. 



236 AUTOMATIC EQUIPMENT 

Storage capacity is related to the speed in each area of the over- 
all system. Furthermore, the capacity also determines the ultimate 
power of the equipment. Limited capacity may be more confining than 
the input and output speed limitations. To some extent, storage and 
speed can be traded for each other. Small storage may reduce effec- 
tive operating speed, whereas large storage may fully utilize com- 
puter speed. 

Speed 

Perhaps the most significant feature of electronic equipment 
is its speed. High-speed operations make possible entirely new ap- 
proaches to business-data processing. The central computer sets the 
pace for the entire system, but no single index of speed is wholly satis- 
factory. An effective balance of operating speeds is more important 
than an extreme speed for one component that leaves the system un- 
balanced. Internal processing may, for example, be fast and tape input 
slow, in relation to each other, so that effective processing speed is 
limited by the ability to read tapes. 

In one early application, tape speed limited effective processing, 
but rewriting the program to do complete processing in one tape pass 
completely changed the balance of factors. Operations became limited 
by the computer because of intensive processing for one reading. Over- 
all efficiency improved and computer use was increased as tape han- 
dling was reduced. 

This example brings out three points concerning speed. First, 
equipment has slow as well as fast components. Second, any particular 
application may point up a weakness of the equipment. Third, program 
revision may exploit strong points of the equipment and improve 
efficiency. 

Access. Operating speeds, as shown earlier in Table 7-4, permit 
a rough rating of computers. Storage access is the time required to 
read the contents of a given location. Access time to data in core stor- 
age is ordinarily constant regardless of the location involved. But 
access for serial storage devices varies with the location involved and 
can be decreased by minimum latency (optimum) programming. Auto- 
matic routines are useful for optimizing manually written programs, 
although it is easy to overstress the time saving. An optimum program 
for 10,000 instructions may cut only a few minutes off the non-opti- 
mized program operating time. But if a program is used repeatedly, 
as in many business applications, a few minutes per cycle may be- 
come consequential. 

A medium-scale computer using mass secondary storage may 
benefit little from optimum programming. Mechanical problems of 
moving the read-write heads from one data track to another may out- 



AUTOMATIC PROCESSING EQUIPMENT 237 

weigh programming savings. Large-scale computers may have enough 
high-speed storage to hold a large segment of instructions and data. 
Other instructions and data need to be suitably stored for efficient 
transfer for processing. 

Computing. Computing speeds for different computers need to 
be put into comparable terms both for the length of operands and for 
the number of addresses per instruction. The precise speed for an 
operation may depend on the number and size of digits in the operands. 
Memory access time, which may have an important effect on comput- 
ing speed, is included by some manufacturers, but omitted by others, 
in the specification of computing speed. 

A single figure for computing speed might be obtained, but it 
would be necessary to spell out in detail the ratio of various opera- 
tions, length of numbers, range of digits, and access and storage re- 
quirements. One index to speed is the time required for performing 
(A+B)xC/D = E with all values in storage and E to be stored. The 
number of digits in each operand also needs to be specified. 

Another operating speed index covers three additions, one multi- 
plication, and three storage operations, which is thought to give a fair 
measure of speed, allowing for different instructions used in each ma- 
chine. In short, an index is based on the time required to find the 
value of : 

A + B = C;C+D + E = F;GxH = I 

Such a speed index takes no account of index registers, special 
logical operations, tape handling, or input-output. Furthermore, it is 
aimed at engineering and scientific problems so that it is not intended 
as a measure of over-all data-processing speed. 

Another proposal for a speed index involves the time required 
for nine addition operations and one multiplication. It is considered 
more nearly typical of business processing requirements. Emphasis on 
addition and multiplication speed is warranted, not because these 
operations are important in business applications, but because the 
speed of these operations is indicative of computer operating speeds 
in general. 

Effective speed of a particular application depends on many fac- 
tors. Important factors that the user may be able to control are how 
many operations of each type are involved, the nature of operands, 
and whether the strong features of the equipment are emphasized. 

Data-transfer Speed. System speed depends on more than com- 
putation speed. Transfer rates between internal and secondary storage 
determine, to some degree, the usefulness of such storage. The need 
for speed in either part or all of the equipment is related to each ap- 
plication. Early computers had limited and slow input-output facilities. 



238 AUTOMATIC EQUIPMENT 

Emphasis was on intensive computation for a small amount of data to 
get a small output. 

The severe lack of balance between internal speed and input- 
output ability of early scientific computers no longer exists. Data-trans- 
fer rates often exceed computational ability. 

Versatility 

"Versatility,'' the ability to turn easily from one task to another, 
is difficult to appraise. This is true even though general-purpose equip- 
ment can usually be switched quickly from one problem to another. 
A general-purpose computer deals with a new application by reading 
in another program and related data. Several factors bear on versatility, 
but it is difficult to combine these factors in one index of versatility. 

Internal Storage Allocation. Storage can be allocated between 
instructions and data in any way desired in most computers, although 
a few have fixed storage space allocated to instructions and data, which 
may restrict programming and operating freedom. 

Instructions stored in the data section must be transferred to the 
instruction section before execution. If high-speed storage is relatively 
limited, operating speed may be increased by reserving most of it for 
instruction storage. 

Word-length. "Word-length" is the number of characters stored 
in one addressable location and transferred with a single instruction. 
As pointed out earlier, the length of a word may be either fixed (typi- 
cally, ten or twelve characters) or variable. Long data words may take 
two or more computer words. Separate storage of short data words 
wastes space; but if short data words are put into one computer word, 
packing and unpacking are necessary. 

If word-length is variable, one or more characters can be trans- 
ferred at a time. Transfer is restricted only by the capacity of buffers, 
storage, arithmetic registers, and any other devices. Variable-length- 
word equipment is more flexible than fixed-length equipment, records 
are more compact, and programming may be simpler. Words can be 
kept separate and treated individually. Variable-length words avoid 
the need to pack short data words into one computer word and later 
extract the desired parts. But, the variable-length mode involves more 
computer circuitry than the fixed-length mode. It also usually involves 
a relatively slow serial mode of operation rather than a parallel mode. 

Address Mode. The merits of single- and multiple-address modes 
must be appraised in relation to a particular application. Some new 
business processors have instruction commands designed especially 
to cope with problems that occur frequently in business. 

Input-output Media. Versatility is also reflected in the ability 
to handle several types of input and output. They may be handled 



AUTOMATIC PROCESSING EQUIPMENT 239 

directly or through conversion equipment. The range of equipment 
handled may be narrow or broad. The merit of input-output flexibility 
must be considered in terms of specific applications; factors pertinent to 
this consideration are the methods of generating data, the work load 
involved, and the requirements for speed. 

Multiplexing involves the simultaneous use of two or more input- 
output units. Nearly simultaneous operations are obtained by time 
sharing. Interrogation units, for example, either directly connected 
to the computer or operating independently, may facilitate operations. 



PROBLEMS IN EQUIPMENT DESIGN 

The factors necessary to yield balanced, efficient equipment de- 
serve discussion. Efficiency involves compromises between the value 
of perfectly suited equipment and the cost of its design and construction. 

The precise specification of equipment requirements is difficult be- 
cause no application is typical. Furthermore, general-purpose equip- 
ment is used for a wide range of problems so that the requirements of 
many different applications must be considered. Available design and 
construction techniques limit some features of proposed equipment. 

If computing speed is treated as fixed, the task is to make equip- 
ment with that particular speed handle a proposed application. Suffi- 
cient internal storage to supply instructions and data to arithmetic 
and control units may be of central importance. On the other hand, the 
use of slower-access storage devices has some bearing on the speed 
designed into arithmetic and control units. 

The quantity of internal storage capacity required depends on the 
class of applications. In general, high-speed storage cost limits the 
quantity that is efficient for each situation. Some practical compromise 
must be made between (1) the "ideal" equipment that might have an 
infinite operating speed and storage capacity and (2) the available, 
economical equipment that has a limited speed and capacity. 

Huge internal capacity may be emphasized. Large storage is con- 
sidered ideal for holding all data and instructions for problems in- 
volving intensive computations. If internal storage will not hold all 
instructions and data, they must be brought in, processed, and put out. 

Secondary storage, at some sacrifice in speed, augments internal 
storage. Data in secondary storage must be transferred to internal stor- 
age for processing. Magnetic-drum secondary storage is popular in 
large systems, because it provides quick access and high transfer rates 
to and from internal storage. Disks are popular for similar reasons. 

Limited internal storage need not hinder computing speeds. Rapid 
data transfers between secondary and internal storage greatly facili- 
tate processing. Many business applications — file maintenance for each 



240 AUTOMATIC EQUIPMENT 

item in inventory, for example — involve limited calculations repeated 
on new sets of data. 

The labels, "scientific computer" or "business-data processor," 
are somewhat arbitrary and not always accurate. Business problems, 
contrary to popular opinion, often involve more complex programs and 
calculations than engineering and scientific problems. The ratio of 
computation to data input-output varies greatly for business problems. 
Interestingly, one medium-scale system designed for scientific work 
is the one most widely used for business problems. 

Costs limit the size of internal and secondary storage. External 
storage— magnetic tape or punched cards — is used to keep costs down 
yet provide large storage. Auxiliary storage media are varied and data- 
transfer rates differ. It is often desirable to use off-line peripheral 
equipment to increase efficiency. Such equipment is economical for 
data transfer and conversion. 

Medium-scale equipment compromises on over-all speed. Costs 
are reduced by using lower-speed storage and computational elements. 
Operating efficiency for many applications is not affected by the re- 
duction in speed. 

Medium-scale equipment design involves the same decisions that 
were discussed earlier for large-scale equipment. The term, "medium 
scale," is not entirely accurate. Such equipment may have as much 
flexibility, input-output facilities, and over-all storage capacity as 
more expensive equipment; but in one or more ways it has less capa- 
bility than large-scale equipment. 

SUMMARY 

Components of electronic equipment are "assembled" into data 
processors. Lists of specifications do not make an acceptance-rejection 
table, for some important features may not fit into tabulations. 

An "index" to measure application requirements and equipment 
capabilities would be highly desirable. Equipment selection might 
then be reduced to matching its index to the index for the application. 
An index that included enough features to make it realistic and useful 
would be complex. Regrettably, no such index, either simple or com- 
plex, exists. Equipment features have to be studied in order to match 
them with particular application requirements. 

Internal storage consists of a magnetic core or a drum. The data 
code system is binary, binary-coded alphanumerical, binary-coded 
decimal, decimal, and bi-quinary; but alphabetic capacity is often 
smaller than numerical capacity. Storage capacity ranges from a few 
thousand to a couple of hundred thousand characters. 

Word-length is often fixed at ten or twelve digits or letters, but 
is shorter in some equipment. Variable-length-field equipment treats 



AUTOMATIC PROCESSING EQUIPMENT 241 

each item of data, whether long or short, as a field in storage. Each 
approach — fixed- and variable-length field — has certain implications 
for equipment cost, data storage, and programming. 

Input and output may be on-line or off-line. Magnetic tape and 
cards are used for on-line input and output, and tape and card content 
can be printed off-line to get readable copy. Consoles and direct-con- 
nected keyboards can be used for small volume on-line input. Printers, 
either low or high speed, may be used for on-line output. 

Equipment speed can be appraised for a particular application 
in terms of computation, access, and data storage. Features of storage 
are addressability, speed, and quantity. Other aspects are record length 
and the use of buffer storage to permit concurrent operations. 

Versatility is the ability to turn easily from one task to another. 
Factors in versatility are storage allocation, word-length, address 
mode, and input-output methods and speeds. 

Efficient design is a compromise between the features that are 
desirable without regard to cost and the features that can be afforded 
even though less than ideal. The use of high-cost and low-cost com- 
ponents and the quantity of each are balanced to give the best proc- 
essing facilities for the money. "Best processing facilities" must, of 
course, be defined in terms of the applications involved. 

REFERENCES AND SUPPLEMENTAL READINGS 

Adams, Charles W. "Automatic Data Processing Equipment: A Survey," 
pp. 125-139 in Electronic Data Processing in Industry: A Casebook of 
Management Experience, New York, American Management Association, 
1955. This article contains a comprehensive survey of commercially avail- 
able equipment as of 1955, together with a discussion of some of the prob- 
lems in evaluating different systems. The basic data-processing operations 
are defined, and equipment for the mechanization of such operations is 
categorized as: (a) aids to manual data processing, e.g., adding machines; 
(b) semi-automatic punched-card equipment, e.g., key punch, tabulator, 
sorter; (c) small drum-type digital systems, e.g., Electro Data Datatron; and 
(d) large, general-purpose digital systems, e.g., Remington Rand Univac. 
Various types of magnetic storage devices, and the difficulties of obtaining 
large-capacity, random access storage are also discussed. 

Berkeley, Edmund Callis, and Lawrence Wainwright. Computers: Their 
Operation and Application, New York, Reinhold Publishing Corp., 1956, 
366 pp. This book is in many ways a sequel to Giant Brains by Berkeley. 
Sections one and two deal with automatic digital computing machines. 
Components and operation are covered in five chapters. Individual chap- 
ters cover reliability, advantages, and disadvantages of an automatic com- 
puter, and a check list of characteristics. Section three covers automatic 



242 AUTOMATIC EQUIPMENT 

analog computing machines, and section four deals with other types. A 
small relay computer (SIMON) built by Berkeley, is described in section 
six. Three chapters describe large-scale computers — Univac, IBM 700 
series, and ERA type 1103. Applications are covered at some length. A sec- 
tion of miscellaneous chapters includes references, roster of manufacturers 
and computing services, and glossary of terms and expressions. 

Eckert, W. J., and Rebecca Jones. Faster Faster, New York, McGraw-Hill 
Book Co., Inc., 1955, 160 pp. This brief book is subtitled, "A simple de- 
scription of a giant electronic computer and the problems it solves." The 
IBM NORC (Naval Ordnance Research Calculator), built as a research 
and development computer, is described, rather than computers in general. 
One chapter each covers computer components. Other chapters cover 
operation, card and tape conversion, checking, maintenance, and problems 
to calculate. Appendices give NORC characteristics, operations, timing, 
flow charts, and examples of programming. 

Weik, Martin H. A Second Survey of Domestic Electronic Digital Computing 
Systems, Washington, D. C, U. S. Department of Commerce, Office of 
Technical Services, 1957, 439 pp. This book presents a survey of com- 
mercially available and existing operational electronic digital computing 
and data-processing systems manufactured or operated in the United States. 
Large, intermediate, and small-scale complete systems are included, includ- 
ing both general and special-purpose equipment. The engineering and pro- 
gramming characteristics of 103 different systems are given, along with 
photos or sketches of representative installations. For each system pre- 
sented, data are supplied under the following headings: application; nu- 
merical system; arithmetic unit; storage; input; output; circuit elements; 
entire system; checking features; power, space, and weight; production 
record; cost, price, and rental rate; personnel requirements; reliability and 
operating experience; future plans (of the manufacturer); installations; and 
additional features and remarks. 



PART THREE 



PROGRAMMING 
AND PROCESSING 
PROCEDURES 



CHAPTER EIGHT 



ADDITIONAL 

PROGRAMMING 

TECHNIQUES 



The instruction repertoire for a hypothetical computer and the 
basic features of programming were covered in Chapter 3, which you 
may wish to review before studying this chapter to refresh your mem- 
ory on the fundamentals. 

The time and skill required to plan and prepare simple routines 
for a computer give some hint of the costs of preparing lengthy pro- 
grams for actual business applications. Actual program preparation 
requires consideration of the nature and condition of input data, proc- 
essing time, utilization of equipment, output requirements, and treat- 
ment of unusual situations. The cost of programming in an actual 
business environment is several dollars per program step (Gottlieb, 
1954). The total cost of preparing a program for one business applica- 
tion is usually enormous because thousands of program steps are re- 
quired. In fact, initial program preparation costs run to an appreciable 
fraction of the cost of equipment. Programming costs continue year 
after year since programs are never quite perfected and conditions 
change, as when management adopts new rules for managing the inven- 
tory or a state legislature enacts a withholding tax. 

Any scheme that reduces the cost of programming, and thereby 
increases computer efficiency, is worth considering. Equipment manu- 
facturers are continuously at work designing equipment better suited 
to customers' needs and devising more efficient plans for program prep- 
aration and operation. This chapter discusses some techniques that 
facilitate program preparation. Other areas to be covered are input and 
output format; programming to minimize machine running time; and 
errors, mistakes, and malfunctions that are likely to occur in data sys- 
tems operations. 

244 



ADDITIONAL PROGRAMMING TECHNIQUES 245 

INPUT 

The basic discussion of input and output programming in Chap- 
ter 3 assumed that the computer unit reads and stores data words of 7 
characters exactly as they appeared on the input media, such as 
punched cards. Although any reasonable-size card is possible, and they 
do range from about twenty-two- to one hundred and thirty-five- 
column capacity, commonly used cards hold either 80 or 90 columns. 
Standardized cards are desirable to gain compatibility with punched- 
card systems and equipment already in use. Many computers rely 
heavily on punched cards for input and output. 

Many computers are designed to store words longer than 7 charac- 
ters — 8, 10 or 12 — or to handle variable-length fields. A one-to-one 
correspondence between the word-length for data input and for com- 
puter storage is not imperative. 

Card Editing 

Compatibility between the computer and peripheral card equip- 
ment is achieved either by editing devices associated with the periph- 
eral units or by editing techniques programmed for the computer. 
In the case of punched-card equipment, editing is done after reading 
the card and before transferring the data to the storage buffers in the 
computer. Data from several fields on a card — columns designated for a 
particular purpose — can be combined into one computer word. Data 
from card fields containing fewer than the number of characters speci- 
fied for a word in computer storage can be filled out with zeros or 
blanks to form full computer words. Of course, variable-field com- 
puters can deal directly with fields of any length on cards since there 
is no need to fit characters into words. It is also possible to shift, trans- 
pose, or suppress digits within a field or rearrange fields with devices 
for editing input. Blanks or zeros and plus or minus signs can be sup- 
plied where wanted in a word by the editing unit during input. Any 
vacant positions in a numerical word that are not wanted must be filled 
with zeros (not blanks) during read-in so that the word can be manipu- 
lated arithmetically. 

Some input, especially key instruction words, must adhere to a 
specified format. You will recall that Chapter 3 described how the 
first word — the word-count and location word — on a program load 
card has a format different from other instructions, for it is numerical 
with a minus sign. The two cards that load the routine and the transfer 
card both start with an instruction word and a plus sign. Since the 
first word on a card may be used in any one of several different ways, 
it must be punched explicitly and cannot be filled in by editing during 
read-in. 



246 



PROGRAMMING AND PROCESSING PROCEDURES 



The arrangement of instructions on a card may be such that there 
are some spare columns. The spare columns can be used to hold identi- 
fying data or remarks. For example, if there are six remaining columns 
after punching as many instructions as possible in a card, they might 
be used to identify the program deck, such as LOAD 1 and LOAD 2 
for the load-routine cards and SEQCHK for each card in a sequence 
check routine. Furthermore, two columns might be reserved (if avail- 
able) for sequence numbering the cards (0 through 99) to help keep 
them in order for input. The total of these sequence numbers can be 
punched into the transfer card to allow a check on peripheral equip- 
ment during read-in to assure that all cards are loaded. Similar schemes 
can be used for identifying and sequence numbering input data cards 
to guard against loss of cards or mixups between decks. 



Data in computer +0109360+0346631+0001005+0102988+0006102+0000000-1-0001014+ BE+LM 



storage 



Computer Words 



Editing unit 
Supply sign 
insert zeros 
insert blanks 



+0109360 

+0346631 

+0001005 



-+00601 10 +201 0000+0000000 +0002250 +- 



r 



+0102988 

+ 0006102 
+0000000 
t+0001014 



+ 



BE 

+LTS 



+0060110 
+2010000 
+0000000 

t+0002250 



ML 






a 



Data fields 



Card columns 



tRinr 



"!- 

in 
Ml" 



1 1 

222 
13 
44|44 44 
5 5S555U5 
ll||llll 
777 

• mi 



• milium 



m 



222|22! 

mm: 

444444' 
III!!!! 

ihiiuil 

7 7 7 7 7 7 7 7 

ilmkili 
imm|>>> 



HI I III I 
lit I 111 I 
12 2 212 2 
313 3 313 J 



III III I III 1 1 



4|4 



>TION OR PART MO 



DIM 



TTIfl 

1 1 

2 2 2 2 2 2 
It!! 
4444 
5355 
• III 
7777 
llll 

i niltimiMi 



444444441 

ilmmi! 



■WW* 

■ 

ii 

222 



DISTRIBUTION 



111 

44414414 
III 



n|2 
mi 



777 



111 
22222 



III 
III 

777 
II 

mill - 



immmiiii 



im 

444444 
5555155 



I 
7 7 J 7 7 



jogogggg I 
mom lj 

AMOUNT Mj 

iimnmii 



1 1 in i in i 

2 21! lit till 
IIIISMIIlg 

4(444144414444 



mis i 
i in i m 

77717711? 

miiii 

i i 

IHIM 



iflllf 
MIIIS 

IMi 



Figure 8-1. Data card editing during input 



ADDITIONAL PROGRAMMING TECHNIQUES 247 

Card Format 

Figure 8-1 shows how a data card is edited during read-in to store 
individual fields in separate words inside the computer, or, in some 
cases, to store two short data fields in one word. 

Wired plugboards are commonly used for editing card input. A 
wire in the reading device connects each card column with the desired 
character position in the buffer storage; characters can be transposed 
or shifted by arranging the wires in appropriate fashion. The wires 
may also be used to connect certain stored characters (blanks, plus, 
minus, and zero) with desired positions in buffer storage. Card charac- 
ters not to be read into storage are simply not wired. 

A plugboard wired for a particular card format is retained for re- 
use to save the trouble of rewiring the board each time. Clever editing 
saves card-reading time, as well as computer time for packing or un- 
packing characters that need to be rearranged for efficient computer 
processing. Similar plugboard devices are used for editing data for 
card-punching units. 

Units for handling magnetic tape may not have editing facilities. 
Instead, editing and rearranging data may be done in separate stages 
by peripheral equipment, such as card to tape converters, or by off-line 
printers operating from magnetic tape. Computer programs are also 
used for further editing, and for rearranging data during input and 
results during output operations. 

TIMING AND MINIMUM LATENCY 

Efficient use of a computer is an important criterion of good pro- 
gramming. The amount of time required to handle an application de- 
pends on the time the computer takes for a complete operation, the 
number of operations in a loop, and the number of times each loop is 
performed. 

The complete operation time for an instruction includes the time 
to obtain the instruction, obtain the operand(s), and execute the in- 
struction. Representative times required for a medium-scale computer 
to execute some instructions and to obtain or store a word in memory 
are as follows: 

Time to obtain and execute an instruction 

Add 2 milliseconds 

Subtract 2 milliseconds 

Clear and add 2 milliseconds 

Compare 2 milliseconds 

Multiply 7 + (0.5 x sum of digits in multiplier) 

Divide 7 + (0.5 x sum of digits in quotient) 

Shift 2.5 + (0. 1 x number of positions shifted ) 

Conditional jump 3 milliseconds 

Unconditional jump 2.5 milliseconds 



248 PROGRAMMING AND PROCESSING PROCEDURES 

Time to obtain or store a word in drum storage 

Average 2.5 milliseconds 

Maximum 5 milliseconds 

Instruction execution and storage access times are useful guides 
in writing programs to minimize running time. For example, in a multi- 
plication operation less time is required if the operand with the digits 
having the smaller sum is used as the multiplier. The sum of digits in 
the operand 121212 is 9, whereas in the number 898989 it is 51. Multi- 
plying these two operands takes 11.5 milliseconds — 7 + (.5 x 9) — 
with 121212 as the multiplier, but 32.5 milliseconds— 7 + (.5 x 51)— 
with 898989 as the multiplier. 

Minimum Latency 

Another facet of timing is the choice of locations for storing data 
and instructions. The access time for a word in a drum location about 
to come under the reading head may be about 0.1 milliseconds. Access 
time to a location that has just passed the heads is about 5 milliseconds 
in high speed drums. Program running time can vary greatly according 
to the care used in assigning storage locations. 

Access time consists of latency and word time. Latency is the wait- 
ing time before the reading heads locate the first bit or character in a 
particular storage location on a drum or disk. Latency can be reduced 
by clever assignment of storage locations so that the next word wanted 
comes under the reading heads when it is wanted. Word time is the 
time required to read or write one word. Word time is fixed by the 
manufacturer during computer design when he decides on the drum 
or disk speed and the spacing of data along a track. A program con- 
sisting of instructions spaced in adjoining word locations around a 
drum or disk will take a long time to execute because the next instruc- 
tion will go by while the prior instruction is being executed. Latency 
time for instructions stored in serial-access memories can increase pro- 
gram running time enough to warrant using other arrangements for 
storing instructions. Minimum latency programming, often called 
"optimum programming," involves the arrangement of data and in- 
structions in storage in a way that reduces waiting time. There are 
several approaches to achieving minimal latency. The instructions in 
a routine can be spaced just far enough apart (in terms of time) in stor- 
age that the next instruction becomes available after the preceding 
instruction is executed. Since a drum or disk rotates at a constant speed, 
the time allotted to the execution of one instruction is proportional 
to the distance along a track to the next instruction to be executed. 
For simplicity, the distance along a track in serial storage can be meas- 
ured as the number of words of data that can be stored in that space. 
Spacing instructions a constant number of words apart along a track, 



ADDITIONAL PROGRAMMING TECHNIQUES 249 

8 words apart, for instance, instead of in adjoining locations, is one 
approach to getting minimal latency. This constant spacing of instruc- 
tions shortens latency for all instructions that can be executed while 
the 8 intervening words pass under the reading head. Some computers 
are designed to apply automatically the constant spacing scheme to 
instructions that the programmer writes with addresses that would 
seem to place them in consecutive storage locations. For example, in- 
structions written with addresses 000 through 015 might be placed as 
follows around a track that stores 100 words: 



Address 




Actual 




Used by 




Storage 




Programmer 


Address 




000 




000) 


Spacing instructions with 8 locations 


001 




009) 


between instruction words 


002 




018 




003 




027 




004 




036 




005 




045 




006 




054 




007 




063 




008 




072 




009 




081 




010 




090 




011 




099 




012 




008 


(108 - 100 = 008) 


013 




017 




014 




026 




015 




035 




Another 


way 


to achieve the same result is to spread addresses 



around the drum so that neighboring storage spaces on the drum have 
addresses like 000, 012, 024, 036, 048, 060, 072, 084, 096, 001, 013, 
025, and so forth. 

Some computers are designed with an instruction word to hold 
two addresses: one for the operand in the instruction being executed, 
and the other designating the location of the next instruction to be 
executed. For example, the instruction ST A 077 005 might mean: 
"Store the accumulator content in location 077 and get the next in- 
struction from location 005." Location 005 is 28 words beyond location 
077, if there are 100 words around a track. The next instruction can be 
located a variable distance away to minimize latency. A computer 
using an instruction format in which every instruction includes the 
location of the next instruction is sometimes called a "one and one- 
half address" computer, although some people prefer to call it a "two 
address" computer. 



250 PROGRAMMING AND PROCESSING PROCEDURES 

There are several methods for actually placing data around a drum 
or disk to minimize latency. The programmer can manually lay out 
the instructions with suitable spacing; but there are also special rou- 
tines, which are discussed later in this chapter, to have the computer 
space the instructions automatically. In this way, a program for han- 
dling the clerical tasks of storing location assignments actually aids the 
programmer in writing more efficient programs. The idea of programs 
being used to prepare other programs is also discussed later in this 
chapter. 

ERRORS, MISTAKES, AND MALFUNCTIONS 

Errors, mistakes, and malfunctions are different factors in giving 
incorrect results. An error is the difference between the accurate quanti- 
ty and its calculated value that arises because of the numerical methods 
used. A mistake is a human blunder that occurs in program prepara- 
tion, coding, data transcription, and computer operations. A malfunc- 
tion is a failure in equipment operation. 

Errors 

Rounding errors, such as treating the average unit cost of a stock 
item as $467.38 instead of $467,375, are often caused by the finite 
lengths of computer operating elements. Often numbers must be 
rounded to fit into storage locations that can hold only 10 or 12 digits. 
The error from rounding is relatively more important for short num- 
bers, say of 1 or 2 digits, than it is for long numbers, say of 6 or 8 digits. 
The most commonly used rounding scheme — add 5 to the right of the 
last digit to be retained, make any carry, and drop unwanted digits — 
may introduce a large error. For example, workers in a factory may 
report job time to the nearest half hour. Reported times of 0.5, 1.5, 
and 2.5 hours are rounded to 1, 2, and 3 hours by following the usual 
rule for rounding. Either more sophisticated rules are required for 
rounding or the rounding should be postponed by retaining more digits 
throughout the operations than are wanted in the answer. 

Addition of two numbers may yield a total that exceeds the ca- 
pacity of a word in storage. One remedy is to test for the occurrence 
of overflow after performing the addition and, if it occurs, to shift 
both numbers one position to the right before repeating the operation. 
The net effect of overflow correction, as described in Chapter 3, is to 
discard the right-hand digit. 

Sometimes it is necessary to use double precision arithmetic to 
obtain more digits in the answer than seems possible with fixed-length 
storage locations and arithmetic registers. Operands longer than a com- 
puter word are split into two parts to place them in adjoining storage 



ADDITIONAL PROGRAMMING TECHNIQUES 251 

locations and treat them as semi-independent operands. The results of 
calculations are first stored in separate words and then joined together 
to yield a precise answer. For example, the numbers 42,864 and 75,793 
are to be added in a computer with fixed word-length that, for sim- 
plicity, is assumed to be three characters. Double precision arithmetic 
involves splitting each data word into two words for storage: 42,864 
becomes 42 and 864; 75,793 becomes 75 and 793. First, add the 864 
and 793 to get 1657. Store the 657 and retain the 1, which appears as 
an overflow digit. The sum of 42 and 75 is 117 plus the overflow 1 
giving 118. An overflow occurring when adding the left-hand parts 
requires the usual remedy of shifting all operands one position to the 
right and repeating the operation. The two parts of the sum are then 
put together to get 118,657. In tabular form, double precision addition 
is as follows: 



Numbers 


Split into two parts 


42,864 


42 864 


75,793 


75 793 



117 1657 Separate sums 

H ' Attach right part over- 



i -. o crj flow to left-hand part 

1 18,657 Join parts to get total 

Double precision operations are also used for subtraction, multi- 
plication, and division. The fact that significant digits disappear when 
taking the difference of two numbers that are about the same size, for 
example, 123,479 - 123,456 = 23, demands care in order to keep the 
desired degree of precision in the remainder. It is easy to treat the re- 
mainder as zero, if enough left-hand digits disappear so that rounding 
may destroy whatever precision the answer had. 

The sequence of performing arithmetical operations affects the 
precision of an answer. Multiplication should be done before division, 
where possible, to retain precision. 

The numbers encountered in accounting applications seldom ex- 
ceed the length of computing elements or storage. On the other hand, 
in statistical or operations-research calculations, long numbers fre- 
quently arise that require caution to obtain suitable precision in the 
answers. The loss of precision in business processing due to the com- 
puting methods used may be important only where numbers are short- 
ened in order to pack several items into one computer word so that the 
rounding off of too many digits results. 

When deciding how many digits to use for an item, the program- 
mer should first check the degree of accuracy necessary in the results 
as specified, preferably, by the user of the output, or, as a second 



252 PROGRAMMING AND PROCESSING PROCEDURES 

choice, by the systems analyst. The effect of a certain error can be de- 
termined by tracing through the numerical operations, which may indi- 
cate that it is sometimes imperative to increase the precision of both 
input data and numerical computing methods. In other cases, less pre- 
cision is needed so that fewer digits in the data and some short cuts in 
computing are permissible. 

Mistakes 

Mistakes are human blunders that result in incorrect data, com- 
puter instructions, or manual operations. 

Mistakes in transcribing input data and instructions into machine- 
readable form may be detected by verifying key-punching or tape- 
writing operations. Totals developed in an earlier stage of processing 
are often useful for checking the accuracy of input data. Mistakes in 
punching a program are sometimes detected on printed copies of the 
card data. 

The original programmer or another programmer may study a 
program and trace through test cases to isolate mistakes; desk-checking 
can disclose many programming mistakes. Mistakes can be divided into 
two classes. Some cause the computer to stop before completing the 
program, while others do not stop operations, but yield a wrong answer 
or no answer at all. 

Examples of mistakes that halt program execution are: 

1. Invalid operation codes 

2. Incorrect instruction addresses 

3. Arithmetical operations on alphabetic characters 

4. Unexpected overflow 

5. Wiring mistakes in program plugboards 

Other types of mistakes may not halt the program, but allow the 
program to continue beyond the instruction containing the mistake. 
For example, a jump instruction with an incorrect address may transfer 
program control to a fragment of some previous program left in the 
machine or to an unexpected part of the present program. Many in- 
structions may be executed before the computer encounters an instruc- 
tion or data word that halts operations. 

Mistakes that may yield the wrong answer without halting pro- 
gram execution are: 

1. Input data inaccuracies 

2. Incorrect operation codes or addresses in instructions 

3. Misalignment of decimal points in numbers operated on arithmetically 

4. Logical mistakes in the program because of incorrect solution method 

Built-in checks and program testing are necessary to detect mis- 
takes that give wrong answers without halting operations. A typical 



ADDITIONAL PROGRAMMING TECHNIQUES 253 

built-in check is a special operation to determine whether an inter- 
mediate result is within specified limits. For example, weekly gross pay 
can be computed and then tested to check whether it is a positive 
amount, but less than $200. Amounts outside the limits of and $200 
may point to a mistake in decimal point (450 hours instead of 45.0) 
or in logic. Where a check number, such as a total, is available from a 
prior operation, it is useful to program a zero-balance check to find 
whether the newly computed total minus the prior total equals zero. 
If the difference between the check numbers is zero, the program con- 
tinues; otherwise, a segment of the program can be repeated, the 
occurrence of the check failure printed on the supervisory console, 
and computer operations halted, as desired. 

Testing a computer program for a business application involves 
using data for which the solution is known. One fairly common test is to 
run the computer program in parallel with an existing system long 
enough to detect and eliminate discrepancies. In some cases only part 
of the data need be processed in parallel; but in others all data should 
be handled both ways for an extended period. Devising a thorough test 
for all parts of the program is sometimes a major task; but since pro- 
gram testing serves as a training and testing ground for personnel, the 
time spent on it may be justified. 

Malfunctions 

A malfunction is a failure in equipment operation. Some malfunc- 
tions are detected automatically by the computer and will either trans- 
fer control to a special routine or halt operations. Other malfunctions 
can be detected only through checks included in the program. 

Malfunctions are rare in properly operating equipment, but a high 
fraction of those that do occur plague input and output operations. 
The gain or loss of a pulse results in an invalid character code being 
transmitted. A parity-code scheme, as discussed in Chapter 2, is often 
used to detect invalid characters. The machine is stopped and an indi- 
cator light turned on to show where the malfunction occurred. Some 
computers use the parity-bit scheme with data on cards or tape but 
drop it in internal storage because of the small risk of losing a bit in 
internal storage. Other computers are designed with the opposite ap- 
proach of using parity-bits internally but not on cards or tape. 

Tape-reading malfunctions are often transient, so that a second or 
third attempt at reading is satisfactory. Some computers provide for 
automatic rereading of tape, if the first attempt does not pass the parity 
test. Input cards are read at two stations in the card reader and the 
data rejected if there is any discrepancy. Editing devices on input- 
output units may also perform special checks to determine whether a 
numerical field has any alphabetic data in it or if a sign is missing. 



254 PROGRAMMING AND PROCESSING PROCEDURES 

Malfunctions that occur during output have more serious implica- 
tions than input malfunctions. Faulty tape or card output may not 
be discovered until the tape is used in the next processing cycle — which 
may be an hour, day, or week later. To guard against malfunctions 
during output operations, another reading station may be used to read 
the actual content of cards or tape and compare with the content of 
storage or buffer for identity. This proofreading test must be passed 
for each card punched or tape block written, or operations are halted. 
A simpler scheme, called "echo-checking," merely determines whether 
the data just written will pass the parity test. 

Some computers check the parity of characters each time a word 
is handled inside the machine. Others have data checks at key points 
in a program. Further, at short intervals of five seconds, for instance, 
contents of all storage locations may be parity tested. If the test is 
failed, the program is returned to a prior checkpoint where the contents 
were stored for use in case of subsequent malfunction. 

Selected types of operations can be tested by two kinds of schemes 
designed into the computer: 

1. Parallel testing involves simultaneous execution of an instruction 
along two paths in the equipment and an equality test. 

2. Serial testing involves one set of circuits used to repeat an operation 
and perform an equality test. For example, the product of 345 x 987 
can be compared with the product of 987 x 345 by subtracting one 
product from the other and testing for zero. 

Parallel tests that are built into the equipment for selected opera- 
tions are outside a programmer's control. Serial tests may be included 
in the equipment or devised by programmers when writing programs. 

Special checking programs, also called "engineering decks," are 
commonly used to check the operation of all instructions and computer 
units just after the power is turned on. These tests are executed to de- 
tect malfunctions when they are most likely to occur and before compu- 
tations are started. 

Malfunctions are rare and may occur once in several million or 
billion operations. Built-in checks are best suited to detecting mal- 
functions in business-data processing. Frequently, the correct results 
for a business application are not known before processing is com- 
pleted, although results for limited sample cases may be obtained by 
other means. Programming business applications may be so intricate 
that devising alternate checking programs (in effect, preparing two 
programs) to guard against malfunctions is inefficient. From the user's 
viewpoint, it is desirable to have the manufacturer design checking 
features into the equipment. Built-in checks increase effective com- 
puter speed by performing checking operations while a single program 
is being executed. 



ADDITIONAL PROGRAMMING TECHNIQUES 255 

The alternate scheme of detecting malfunctions by program- 
ming — to perform the essential features of an operation in two different 
ways — increases programming work and computer running time. As an 
example of a programmed check, it is suggested that the accuracy 
of multiplication be verified by a second multiplication involving 
slightly different numbers. Assume that the problem is to compute in- 
ventory value for the following quantities and prices: 

Stock 



Number 


Quantity 


Price 


Value 


1234 


4 


2 


8 


8765 


8 


7 


56 


2391 


3 


19 


57 



15 121 

A "proof figure" scheme for programmed checking of multipli- 
cation uses an artificial basis for either the price or quantity so that 
different numbers are involved in the multiplication; correction is 
then made to eliminate the effect of the artificial base (Price Water- 
house, n.d.). By introducing an artificial price base of 20, the calcula- 
tion would become: 













Quantity 


Stock 




Artificial 




Proof 


Proof 


Number 


Quantity 


Basis 


Price 


Cost 


Cost 


1234 


4 


20 - 


2 = 


18 


72 


8765 


8 


20 - 


7 = 


13 


104 


2391 


_3 
15 


20 - 


19 = 


1 


3 
179 



The quantity 15 multiplied by the artificial base of 20 gives a pro- 
duct of 300. The original value of 121 plus the proof cost of 179 gives a 
total of 300, which proves the coincidence of the answer by two dif- 
ferent program routes. 

More important than the occasional incorrect results from mal- 
function of equipment is the risk that it may be out of operation for 
several hours during testing and repair. "Down-time" is likely to be 
high at first because of injury to equipment during shipping and the 
early breakdown of defective components. After the initial break-in 
period, most automatic data-processing equipment is extremely re- 
liable. The availability of similar equipment nearby for emergency 
use on a reciprocal basis furnishes some protection against protracted 
down-time. Scheduling operations at 80 to 90 per cent of capacity, 
after allowing for preventive maintenance, permits making up most 
down-time. Priority applications can be kept on schedule, despite ex- 
cessive down-time, by rearranging schedules to postpone less urgent 
jobs and checking out new programs. 



256 PROGRAMMING AND PROCESSING PROCEDURES 

Errors, mistakes, and malfunctions are usually far less trouble- 
some in automatic systems than in manual systems. Accuracy and re- 
liability are higher in automatic systems because systems design receives 
more emphasis, "special-case" treatment is minimized, "rush" han- 
dling is reduced, and people are less directly involved. 

SPECIAL OPERATIONS 

The repertoire of instructions included for the hypothetical com- 
puter described in Chapter 3 was purposely kept short for illustra- 
tive purposes. Some computers have command lists as short as 8 
instructions. Other computers decode as many as 100 or 200 instruc- 
tions, although a large fraction of such a large repertoire may be 
devoted to special features of input-output operations. Each new in- 
struction designed into the computer by the manufacturer increases 
program versatility and power; but a bigger instruction repertoire has 
certain costs associated with it. Computer design and construction costs 
increase because of additional circuits. The cost of training programmers 
increases because they must master all the skills involved in handling 
a longer list of instructions. Programming costs are reduced to the 
extent that one comprehensive instruction can do the work of several 
simpler ones. There is some risk, however, that more complicated in- 
structions may lead to more programming mistakes. 

At the other extreme, a computer can be designed to operate with 
minimal instructions: subtract, store, conditional jump, and shift. 
Operating programs can be built from these four instructions, plus 
input and output instructions; but such programs will be extremely 
long and appear to be inefficient. For example, the operation of clear 
accumulator and add can be accomplished by means of two store and 
four subtract orders, as follows: 

STA 100 Store content of accumulator — no matter what the content 
happens to be — in location 100. 

SUB 100 Subtract content of location 100 from accumulator to get in 
accumulator. 

SUB 267 Subtract the operand in location 267, which puts the operand 
in the accumulator but with the opposite sign (- for +, and 

+ for-). 

STA 100 Store the operand, now with an opposite sign, in location 100. 

SUB 100 Subtract the operand (with opposite sign) to get in the accu- 
mulator. 

SUB 100 Repeat the subtraction of the operand (with opposite sign) 
which yields the operand with correct sign in the accumulator. 



ADDITIONAL PROGRAMMING TECHNIQUES 257 

The point involved here is an important one for computer design- 
ers and users: the added cost of designing and building more instruc- 
tions must be balanced against the cost of doing programming with 
either too few or too many instructions. The problem is similar to 
choosing between basic and standard English: either one might serve, 
but each has characteristics that make it preferable under certain 
conditions. 

Jump Instructions 

Most medium- and large-scale computers have more instructions 
for transferring control or jumping to another part of the program 
than were described in Chapter 3 for the hypothetical computer. The 
jump-if-negative instruction distinguishes between the negative and 
positive outcomes, but it may be ambiguous about how to treat a zero 
outcome unless zero is defined as either plus zero or minus zero. 

Inclusion of a jump-if-zero instruction in the computer repertoire, 
along with a jump-if-negative one, eliminates the ambiguity of dis- 
tinguishing between the negative, zero, and positive conditions. If 
both the negative and zero tests fail, then the item being tested must 
be positive. 

A jump-if-positive instruction is often included in the repertoire 
in addition to the jumps for negative and zero conditions. Having these 
three tests available permits arranging them in any sequence desired 
without being restricted to using two and detecting the third outcome 
by elimination. 

The instruction to set an index and jump is an entirely different 
kind of jump instruction. The number in the instruction counter, which 
keeps track of the instruction to be executed, is stored in an index reg- 
ister as an exit point for later use as an entry point to the main program 
at the following instruction. When a set-index-and-jump instruction 
is executed, control is transferred to the location specified in the jump 
instruction in order to carry out a subroutine that was stored starting 
at that point. A subroutine is a computer routine already prepared 
and tested to perform some desired operation. It can be placed 
wherever desired in storage and used when wanted in conjunction 
with the main program. After a subroutine is executed, it provides 
for returning program control to the main program at the instruction 
following the exit point which is stored in the index. Subroutines can 
be used repeatedly by means of suitable initializing operations, which 
set up conditions for jumps from the main routine to the subroutine 
and for returns from the subroutine to the main routine. 

Use of the set-index-and-jump instructions to jump from the main 
routine to a subroutine and back to the main routine can be illustrated 
as follows: 



258 PROGRAMMING AND PROCESSING PROCEDURES 



Main 


Program 


Location 


Content 


060 


Any 


061 


instructions 


062 


desired 


063 




064 


<sTT AQ&n 


OJ.J rvyou 


065 


Continuatior 


066 


of main 


067 


routine 



Subroutine 
Location Content 



980 


Subroutine 


981 


instructions 


982 




983 




984 


TMPA001 



113 SIJA980 — ► 

When used the first time, the SIJ A980 instruction sets index reg- 
ister A to 064, which is where the instruction is located in the main 
program, and jumps to location 980. The subroutine starting at loca- 
tion 980 is then executed. At the end of the subroutine is a JMP A001 
instruction to return control to the main program at the location fol- 
lowing the exit from the main routine, which is 065 in the first case. 
Later, at location 113, another SIJ A980 transfers control to the sub- 
routine to execute it on different data and then return control to the 
main routine. The nature and use of subroutines is described more 
fully later in this chapter. 

Table Look-up 

A table look-up instruction is designed into some computers to 
perform the same operation that a person does to find a desired item 
in a table. A table consists of reference factors, called "arguments," 
and entries in the body of the table, called values of a "function." Or, 
in everyday terms, you look for what you know in order to find what 
you want. Tables arranged with arguments in ascending order in stor- 
age can be searched starting from a certain location, such as 100, when 
an address between 100 and 199 is used in the table look-up order. 
The look-up operation ends when it finds the argument that is equal 
to or just higher than the known argument. The function corresponding 
to the argument looked up in the table is the desired value. Computer- 
wise, table look-up starts by placing the known argument in a specified 
location, such as the M-Q register. Upon completion of the table look- 
up instruction, the address of the desired function is copied into a 
specific location, such as the accumulator. The address of the desired 
function can be incorporated into instructions so that the function it- 
self can be used. 

An example will show how a table look-up instruction might oper- 
ate. The problem is to update the costs for each department where 



ADDITIONAL PROGRAMMING TECHNIQUES 259 

departmental numbers are stored in locations 100 to 148 and the cor- 
responding departmental costs are stored in locations 150 to 198. A 
high value ZZZZZZZ is stored in location 149 to terminate the table. 

Department Department 

Number Costs 

Location (Argument) Location (Function) 

100 16 150 $ 4,259.67 

101 17 151 2,683.45 

102 23 152 10,200.00 

103 27 153 1,449.58 



148 85 198 9,295.73 

149 ZZZZZZZ 

Cost transactions consist of two words: department number and 
dollar amount. The following program will update the cost table for 
a transaction that involves department 23, in the amount of $350.00, 
assuming that the table and program are already in storage. 

Location Content Explanation 

• • • • • • Read a transaction into storage: department number 

in location 001 and cost in location 002. 

010 CAM 001 Clear accumulator and M-Q registers and add the 

number of the department for next transaction into 
M-Q. 

011 TLU 150 The /able look-up operation starts with the argument 

stored in location 100 since the address in the TLU 
order is between 100 and 199. The look-up operation 
ends with the number 152 in the accumulator, when 
the argument stored in location 102 — which is 023 — 
equals the new department number — 23 — stored in 
the M-Q. 

012 STD 015 Store the address portion of the accumulator (right- 

013 STD 016 hand three digits only) in locations 015 and 016. 

014 CAA 002 Clear the accumulator and add the transaction 

amount— $350.00. 

015 ADD ( ) The addresses of these "dummy" instructions are 

016 ST0 ( ) filled in by the instructions in locations 012 and 013. 

Add contents of location 152— 10,200.00— to get a 
total of 10,550.00, and store the total in location 152. 



260 PROGRAMMING AND PROCESSING PROCEDURES 

017 ... Other instructions to test for the end of updating 

operation, or to return to read in the next transaction. 

The table look-up routine for updating account balances involves 
the use of a new type of instruction — a store-address instruction, 
STD y x. This instruction stores the right-hand three digits of the 
accumulator in the address part of the location specified without 
changing the operation part of the instruction. The store-address in- 
struction stores only part of the content of the accumulator, whereas 
the STA y x instruction stores the whole content of it. The effect of a 
store-address instruction can be achieved by adding together the 
dummy instruction and the word containing the desired address. 

"Dummy" instructions — those originally written without ad- 
dresses — to be filled in as part of the program are an interesting feature 
of program preparation. Situations also arise on rare occasions in which 
the operation part of the instruction (which is usually expressed as a 
number inside the computer) is either constructed or modified during 
the execution of a program. 

Scaling. The location of the decimal point within operands must 
be considered in all arithmetical operations. Decimal (or binary or 
octal) points must be aligned before addition or subtraction in order 
to get a correct result. Multiplication and division do not require align- 
ment but do involve keeping track of the decimal point in the result. 
Overflow arises when numbers are too large to fit into storage. One 
method for coping with these problems is to scale the operands before 
calculations are made. 

Scaling involves altering units in which variables are expressed 
to bring all magnitudes within the capacity of the computer or the 
routine in use. Units are selected so that the largest resulting number 
can be calculated in registers and stored in memory. It is the program- 
mer's responsibility to keep track of how many digits will occur in a 
result. If capacity is about to be exceeded, the operands can be shifted 
to the right and the operation repeated. A loss of digits at the right 
of the operands is preferable to losing digits on the left of a result. 
Scaling operands is troublesome for a programmer and increases the 
computer operating time over that required, if the numbers can be 
handled by ordinary arithmetic. 

Floating Point Arithmetic 

The programmer can keep track of decimal points in arithmetical 
operations for numbers that are within the range of the computer's 
word capacity, say, .0000001 to 9999999. Shift instructions are used 
to line up numbers for addition and subtraction operations and to 
bring products and quotients into "bounds'' for further operations. 
The programmer must anticipate the location of decimal points in the 



ADDITIONAL PROGRAMMING TECHNIQUES 261 

original data, the intermediate result, and the final answer; doing this 
requires extra programming, and anticipating decimal points is often 
difficult. One group of special instructions available in many com- 
puters deals with floating point arithmetic, which automatically 
handles decimal points in arithmetical operations. 

Extending the example of the hypothetical computer, it would 
handle floating point numbers as fractions between .10000 and .99999, 
with an exponent to keep track of the number of places the decimal 
points were shifted in order to make the numbers fit within this range. 
To avoid negative exponents in the computer word, an exponent of 
zero is often considered equal to 50, an exponent of 1 is 51, an exponent 
of 7 is 57, an exponent of -4 is 46, and so forth. Examples of numbers 
are: 





Floating 


Point 


Computer Word 


Ordinary 








Number 


Fraction 


Exponent 


Fraction Exponent 


+ 5327. 


+.5327 


+4 


+53270 54 


-368592. 


+.368592 


+6 


-36859 56 


+ 0.4375 


+.4375 





+43750 50 


0.00298 


+.298 


-2 


-29800 48 



A computer equipped with circuitry for floating point operations 
lines up floating point numbers (so that exponents are equal) before 
addition or subtraction. In multiplication, the exponents are added 
and adjustment is made for the extra 50 that results in the exponent. 
In division, the exponent of the divisor is subtracted from the exponent 
of the dividend. The product or quotient is adjusted to a fraction and 
the appropriate exponent. 

Computers with a built-in floating point feature also perform 
arithmetical operations in fixed point or ordinary arithmetic, as de- 
scribed earlier. Floating point operations, if provided for the hypo- 
thetical computer considered here, could be defined as follows: 

Code Explanation 

FAD y x Floating point add the content of location x, indexable, to the 
content of the accumulator. Content of storage location x is 
unchanged. Both numbers must be in the floating point mode. 

Floating point subtraction, multiplication, and division could be 
similarly defined and given the codes FSU y x, FMU y x, and FDI y x. 
Floating point arithmetic is more convenient than fixed point arith- 
metic for handling numbers with varying decimal points, but there are 
several objections to its use. Floating point operations are slower than 
fixed point arithmetical operations. The exponent takes up two digit 



262 PROGRAMMING AND PROCESSING PROCEDURES 

positions in the computer word, which limits the number of digits 
available for data. Furthermore, there is usually some difficulty in 
handling both input and output data. If data are put into the com- 
puter in the fixed point mode, it is necessary to use extra operations 
to convert them to the floating point mode; and reconversion before 
output may be necessary. On the other hand, original preparation in 
the floating point mode increases the risk of clerical mistakes. Fixed 
point arithmetic is usually preferable in most business systems that 
have a high volume of input and output. Arithmetical operations are 
unimportant enough in most business-data processing that the added 
input and output problems and slower computer speeds associated 
with floating point arithmetic are not justified. Operations research 
calculations may, on the other hand, be facilitated by floating point 
arithmetic features of the computer because of the range of size of 
numbers and the difficulty of anticipating decimal point location after 
every calculation. 

When using the floating point mode, it is necessary to arrange 
operations in a suitable sequence so that precision is not lost through 
subtractions resulting in loss of significant digits. Apparent precision in 
a result may be spurious because some meaningless digits may arise. 
The occurrence of meaningless digits is detrimental to floating point 
arithmetic because the programmer often neglects to think about the 
size of numbers when programming in this mode and overlooks the 
possibility of spurious accuracy. 

PSEUDO-CODES AND RELATIVE ADDRESSES 

Programming techniques have been discussed in terms of alpha- 
betic abbreviations for instructions and numerical designations for 
storage locations. This scheme was chosen for simplicity. Other pos- 
sible schemes — numerals to identify instructions and letters for stor- 
age locations or some combination of numerals and letters — are 
preferable in some ways. 

Pseudo-codes 

The name "pseudo-code" is used for an arbitrary code designed 
to aid a programmer in writing programs. Each pseudo-code instruc- 
tion must be translated into computer code in order to run the pro- 
gram in the computer. 

The instruction codes described for the hypothetical computer 
in Chapter 3 consisted of two or three letters for each instruction. Some 
examples are ADD (add), SHL (shift left), STA (store accumulator), 
and RC (read a card). To make the instructions easy to remember, 
the code letters were selected from the description of the operation — 
SHL is the abbreviation for shiit /eft. When the pseudo-code is de- 



ADDITIONAL PROGRAMMING TECHNIQUES 263 

vised so that people can remember it easily, it is called a "mnemonic" 
code. 

Only a limited number of instructions were developed for the 
hypothetical computer — so few, in fact, that each could be identified 
by a single letter of the alphabet. Using three letters to identify an 
instruction when one letter would serve is wasteful, for more characters 
must be written into the program, prepared for input, and stored in 
the computer, all of which increase program execution cost. The 
three instructions of add, shift left, and store accumulator might be 
abbreviated A, L, and S, and still retain some of their mnemonic value. 
If the number of instructions designed into the computer exceeds 26, 
some odd codes arise if each code is restricted to one of the 64 char- 
acters that can be represented by 6 bits. For example, Univac II codes 
for the three operations, add, shift left, and store are: AO, ;, and HO. 

Computer designers prefer to use numbers for instruction codes. 
Two-digit numbers permit representation of 100 instructions — 00 
through 99. Numerals can be manipulated more readily than letters 
if one wishes to modify an instruction by, say, addition or multipli- 
cation operations performed on the code part itself. The programmer's 
interest in a mnemonic code for writing programs must be balanced 
against the computer designer's demands for a numerical code to sim- 
plify internal circuitry. As often happens, a difference of interest is 
compromised by giving each group at least part of what it wants — 
mnemonic codes for the programmer and numerical codes for the com- 
puter designer. For example, both types of codes are used with the 
IBM 650, as follows: 



Operation 


Mnemonic 


Numerical 


Add (to upper accumulator) 


AU 


10 


Shift left 


SLT 


35 


Store (upper) accumulator 


STU 


21 



A programmer can write in a mnemonic code, which is also called 
"symbolic" code, and then convert to the numerical code by writing 
the corresponding numerical instruction code before the program is 
read into the computer. Since the one-for-one conversion of letters 
to numerals is basically a clerical task, it can be done by the computer. 
A special program called a "symbolic assembly program" can be used 
to perform the conversion. But assembly programs, as is pointed out 
later in this chapter, usually do much more than merely convert in- 
struction codes from alphabetic to numerical equivalents. 

Symbolic Addresses 

Programming examples given thus far have used absolute ad- 
dresses — the actual locations in storage of particular units of data — 
that can be interpreted directly by the control unit of the computer. 



264 PROGRAMMING AND PROCESSING PROCEDURES 

Programs written with absolute addresses appear simple and effi- 
cient for short programs. The computer assigns the same address as 
the programmer, which facilitates comparing the contents of storage 
with the original program at any time. Consider, for example, a three- 
instruction loop in locations 067 to 069 for modifying the address part 
of the instruction CAA x in location 070 just before it is executed. 
Location Content Explanation 

067 CAA 070 Clear accumulator and add instruction to be modi- 
fied. 

06 8 ADD 010 Add the content of location 010, which is the constant 
006. 

069 STA 070 Store modified instruction in location 070. 

070 CAA ( ) Initial value 200 to be increased by 006 each loop. 

The simplicity of absolute addresses has its price. If a mistake is 
found and correction requires inserting another instruction between 

067 and 068, unless adequate care is used the instructions in locations 

068 to 070 may be shifted up by one to give the following programs: 

Explanation 
New instruction inserted here. 

This instruction will be modified by this revised 
routine. 

071 CAA ( ) This instruction is not changed at all. 

The changed program does not do anything that was originally 
intended. The STA 070 instruction in location 070 will be modified by 
instructions 067 and 069. Modification of the instruction in location 
070 is diabolical because it stores itself in location 076 when the loop 
is executed the first time, in 082 in the second loop, and so forth. Chaos 
may result if the programmer fails to change the address parts of some 
instructions when the instructions to which they refer are shifted about 
in storage. Incredible havoc can occur in a long program because the 
number of addresses to be corrected mushrooms. 

Absolute addresses also hinder the use of a subroutine in more 
than one main program because the addresses must be changed to fit 
each particular program. Furthermore, the use of absolute addresses 
makes it difficult for two or more programmers to work on one program. 
Each programmer is unsure which location the other is using for cer- 
tain data, and it is difficult to combine the segments of the program. 

Symbolic addresses are one remedy for some of the deficiencies 
growing out of absolute addresses. A "symbolic address" is a label 



Locatioi 


i Content 


067 


CAA 


070 


068 






069 


ADD 


010 


070 


STA 


070 



ADDITIONAL PROGRAMMING TECHNIQUES 



265 



assigned to a certain word in a routine for convenience of the pro- 
grammer, and is independent of the location of a word within a routine. 
A symbolic address consists merely of some unique characters — letters, 
numerals, or both — assigned as the address of a selected word in a rou- 
tine. Only those addresses that are referred to in the program have to 
be identified by a symbolic address. These include the first words in 
blocks of data or of instructions and other specified words. Words 
that follow are stored in sequence following the selected word. Sym- 
bolic addresses must be converted to absolute addresses for running 
the program; but this conversion can be done by the computer, as ex- 
plained later in this chapter under "Automatic Programming." 

The fragment of a program given earlier for address modifica- 
tion can be rewritten with symbolic addresses to illustrate the ideas 
involved. 



Location Content 

START CAA MODIFY 



Explanation 

START identifies first location. MODIFY in 
the address part refers to the location identi- 
fied by "MODIFY." 

ADD PLUS SIX PLUS SIX refers to the location identified by 
"PLUS SIX" which contains +006. 



STA MODIFY 
MODIFY CAA FILE1 



MODIFY identifies location of instruction to 
be modified. FILE1 refers to the location 
identified by "FILE1." 



Only the fourth instruction is referred to by the instructions shown 
here so that only the "MODIFY" need be used to identify a location. 
The "START" is not needed except, perhaps, to enter this part of the 
program. One or more instructions can be inserted at any point within 
the four instructions without requiring any changes in the addresses 
since "MODIFY" is a suitable address wherever located in the pro- 
gram. The symbolic addresses START, MODIFY, PLUS SIX, and 
FILE1 can be used repeatedly as addresses in instructions, but they 
must be defined in one and only one way to avoid ambiguities. You are 
accustomed to the fact that absolute addresses must be defined and 
must be unique so there is little new about these stipulations. 



Relative Addresses 

Relative addressing is an extension of the concept of symbolic 
addressing. A relative address is a label used to identify a word in a 
routine or subroutine with respect to its position in that routine or 
subroutine. The fragment of a program given above can be written 
with relative addresses as follows: 



266 PROGRAMMING AND PROCESSING PROCEDURES 



Location 


Content 


START CAA 


START + 3 


ADD 


PLUS SIX 


STA 


START + 3 


CAA 


FILE1 



Explanation 

This location is identified by "START"; 
"START +3" identifies the third location 
after this one. 



Inserting another instruction into this routine requires changing 
the relative address START +3 to START +4. This job is comparable 
to the task of changing the absolute addresses to permit insertions, 
as in the example for absolute addressing as first given. Relative ad- 
dresses do have an important advantage for programming subroutines. 
After a subroutine written with relative addresses is checked out, it 
can be used whenever desired in the main program. The four instruc- 
tions listed above can be used with the instruction identified by 
START, when it is given an absolute address of 067, 167, 503, or any 
other location. The programmer has some control over the conversion 
by the computer of the symbolic address to an absolute address; but 
it is necessary to avoid interfering with absolute addresses previously 
assigned. 

Symbolic and relative addresses can be converted to absolute ad- 
dresses either by manual methods or by the computer's using an as- 
sembly program, as described later in this chapter. A symbol table, 
such as the following, may be used for assigning absolute addresses for 
two selected symbols. 

Absolute 
Address 
Symbol Assigned Explanation 

START 067 The program will be stored in locations 067 and fol- 

lowing. 

FILE1 200 File #1 will be stored in locations 200 and following. 

Storage locations will be assigned in turn to each succeeding in- 
struction with a symbolic address that is not assigned an absolute 
address. If only the first symbolic address is assigned an absolute ad- 
dress, then each succeeding instruction will be assigned to storage 
with no intervening locations. 

By convention, the symbols used to identify storage locations 
during programming may be restricted to at least one letter and one 
or more numerals. The letters I and O may be prohibited in symbolic 
addresses to avoid confusion with the numerals 1 and 0. 



ADDITIONAL PROGRAMMING TECHNIQUES 267 

SUBROUTINES 

Much programming time and effort may be used to program a 
particular type of calculation or operation that is used in many dif- 
ferent programs. A large fraction of the programming time may be 
wasted because only slight variations exist each time the particular 
calculation is made. With so much similarity, it is possible to develop 
subroutines to handle the common elements of many programs (Hopper 
and Mauchly, 1953). 

A "subroutine" can be defined as the set of instructions necessary 
to direct the computer to carry out a well-defined operation. In short, 
a subroutine is a sub-unit of a routine. After a subroutine is written and 
checked, it can be used in any program that requires the operations 
that it will perform. An example of a subroutine is the program load 
routine described for the hypothetical computer in Chapter 3. The load 
routine is useful for loading any program written for that computer. 

Open Subroutine 

Subroutines are classified as open or closed, depending on how 
they are fitted into the main program. An open subroutine is fitted 
directly into the operational sequence of the main program each time 
it is needed. The relationship between instructions written expressly 
for the main routine and the subroutines merely included in the main 
program can be illustrated as follows, although each line may represent 
dozens of instructions: 



Program prepared 
expressly for the 
application 



Program prepared 
expressly for the 
application 



(Continued) 



Subroutine to load remainder 
of program 



Subroutine to perform a desired 
operation — perhaps read in files, 
records, unpack, and place in 
suitable storage locations 



Subroutine to read instructions — 
edit for accuracy of data, rearrange 
for efficient processing, and so forth 



268 



PROGRAMMING AND PROCESSING PROCEDURES 



The open subroutine scheme is straightforward because each sub- 
routine is included where it is wanted in the main program. Entry 
to and exit from the subroutine is simple because the whole program — 
both the hand-tailored parts and the subroutines — is located in con- 
secutive storage locations. Each subroutine must be written with sym- 
bolic or relative addresses so that it will operate satisfactorily wherever 
placed in the main program. The open subroutine has the drawback 
that it is repeated each time it is used in the main program. 

Closed Subroutines 

A closed subroutine is stored somewhere away from the main pro- 
gram sequence. The main program jumps to a subroutine when it is 
wanted and, after executing the subroutine, returns to continue ex- 
ecuting the main program. Entering and leaving the subroutine in- 
volves knowing where the subroutine is stored, arranging to have the 
desired operations in correct locations to be handled by the subroutine, 
and returning to the correct point in the main program. Furthermore, 
the contents of some registers and indexes may have to be saved so 
that they are available upon returning to the main program. 

The concept of closed subroutines can be illustrated as follows, 
using a line to indicate one or more lines of coding: 



Subroutine to 
load remainder 
of program 



Subroutine 2 



Program prepared 
expressly for 
the application 



Subroutine 3 



Subroutine 4 



(Continued ) ' (Continued ) 



ADDITIONAL PROGRAMMING TECHNIQUES 269 

The arrows show jumps to a subroutine and returns to the main 
program. Solid lines indicate unconditional jumps and broken lines 
conditional jumps. Several points are worth noting from the illustra- 
tion. The subroutines can be stored in any sequence desired and need 
not be in contiguous locations. After a subroutine is executed, pro- 
gram control may return to one of several points in the main program — 
subroutine 2 has alternate returns — depending upon conditions that 
arise during execution of the program. A subroutine may be used sev- 
eral times — subroutine 3 in this case — with a return to a different 
point in the main program each time. Pushed to the extreme, the main 
program is reduced to little more than a calling sequence which is a 
series of jump instructions that guide the program from one subroutine 
to another. 

Use of subroutines is common in scientific and engineering work 
that involves computing square roots, cube roots, sines, cosines, and 
tangents. Computer running time may be longer for a program built 
of subroutines than for a program especially prepared for the prob- 
lem. Nevertheless, the cost of longer running time on the computer 
may be outweighed by reduced programming costs and shorter elapsed 
time to prepare programs, especially where each program is used only 
a few times; but subroutines prepared by the computer manufacturer 
or other users are readily available. 

Business processing programs are used repeatedly; and it is more 
important to arrange for efficient input, output, and machine utiliza- 
tion than to minimize the cost of programming. Some parts of pro- 
grams — input, editing, sorting, and output — may be handled by 
subroutines even though the programs themselves are basically dif- 
ferent. This is true despite the fact that it is rare for two organizations 
to have the same scheme for computing their payrolls or for controlling 
their inventories. 



AUTOMATIC PROGRAMMING 

Programming, as it first developed, required that a programmer 
work with a set of instruction codes aimed more at making the com- 
puter function than at solving problems. Instructions, such as 
ADD y x, CMP y x, and JIN y x, are pseudo-codes that are very simi- 
lar to the instruction codes actually executed by the computer. It is 
a simple task to translate this machine-oriented language to actual 
machine code — as in changing "ADD y x ' to "10 y x" on a one-to-one 
basis. 

People with business problems to solve do not really want to 
bother with ADD, CMP, and JIN instructions. Users would much 
prefer to write short, simple programs— COMPUTE PAYROLL, BILL 



270 PROGRAMMING AND PROCESSING PROCEDURES 

CUSTOMERS, or DETERMINE WHETHER TO BUILD A NEW 
FACTORY AND, IF SO, WHERE— even though these might force 
the computer to use a long, intricate program in order to do the re- 
quired processing. Clearly, a problem-oriented language at the level 
of COMPUTE, BILL, and DETERMINE is aimed at solving prob- 
lems rather than running the computer. The ideal problem-oriented 
language would be independent of the machine language and of any 
particular computer. 

The present state of the programming art lies somewhere between 
the two limits of either pure machine language or problem language. 
There are many schemes for blending the problem and machine- 
oriented languages to produce, by way of a computer, the program 
required to handle business applications and engineering problems. 
These schemes, which make up "automatic programming," consist of 
a problem-oriented language and an executive routine for translating 
the problem-oriented language into machine language. No longer is 
a one-to-one translation enough, because the verbs — COMPUTE, 
BILL, and DETERMINE — are extremely powerful; one such verb 
may require expansion into 10, 100, or more machine instructions. 
The ratio of expansion of verbs into instruction steps is a measure of 
the power of the problem language. 

Automatic programming involves master or executive routines 
to process and control other routines (Automatic Coding, 1957; 
Hopper, 1958; Laden, 1959). There are two major types of executive 
routines — interpretive and compiler routines. 

Interpretive Routines 

An interpretive routine translates a pseudo-code program into 
a machine code and at once performs the indicated operations by means 
of subroutines. Thus, two things are happening in quick succession. 
First, each step written in pseudo-code by the programmer is trans- 
lated into machine code to perform the desired operations; immediately 
after this, the machine instructions are executed on the data. The ma- 
chine program is then discarded so that the interpretation must be 
repeated to run the program again. 

Post-mortem Routines. Post-mortem and trace routines are 
special kinds of interpretive routine. Either automatically or on de- 
mand, a post-mortem routine or examination will print data concerning 
contents of registers and storage locations; this is done when the rou- 
tine is stopped in order to assist in locating mistakes in coding. A post- 
mortem routine gives a static listing of computer storage, register, and 
index contents after the program "dies." This listing enables a clever 
programmer to perform an autopsy to determine why death occurred 
and to find the fatal instruction or instructions. For example, the exit 



ADDITIONAL PROGRAMMING TECHNIQUES 271 

jumps following a compare instruction may have been set up wrong. 
Indexing may have been erroneous because of mistakes in setting an 
index register, counting during each loop, or testing for exit from the 
loop. It is invaluable to know the content of the instruction counter, 
each index register, and several indexed instructions — both operation 
code and effective address — that were executed before the program 
halted. A skilled programmer can, with a thorough post-mortem rou- 
tine, answer the question: "Who done it?" 

Post-mortem routines are used in debugging programs during 
testing to find why they do not perform as planned. Most programs of 
any length contain mistakes that may require more time to test and 
debug than was initially spent preparing the program. With some 
post-mortem routines, it is possible to try to run test data through the 
computer without providing for any post-mortem output. If the com- 
puter stops, the post-mortem routine will restart the program at the 
beginning and produce the post-mortem output. But if the computer 
does not stop, there is no output. 

Some simplified forms of post-mortem routines give only a "stor- 
age dump," which is a complete copy of all storage locations at the 
time the computer stopped. A storage dump routine usually lists the 
instruction that caused the program to stop and the current contents 
of arithmetic units and indexes. 

A program can be debugged by executing it one step at a time from 
the console. Usually, when a computer stops, lights on the console 
indicate what caused the stop — overflow or an invalid operation code. 
It is also possible to find where the instruction being executed was 
stored. Debugging from the console is slower and harder to follow 
than a post-mortem routine. In some computers the post-mortem pro- 
gram is merely a subroutine, and console switches are used to provide 
the actual executive control of the routine. The console switches may 
provide for a jump to the subroutine after each operation. 

Trace Routines. A trace routine is used to observe how the object 
program (the program to be run) operates while it is being executed. 
The instructions in the object program are fed to the control unit one 
at a time while the executive trace routine actually controls the pro- 
gram. After each instruction in the program is executed, the executive 
routine keeps track of the following: 

1. Location of the object program instruction 

2. The instruction itself 

3. Contents of the accumulator, M-Q, and index registers 

The object program may be traced through its difficult or new, 
untested parts only. The simpler parts and those checked out earlier 
need not be traced. Instructions can be included in the object program 



272 PROGRAMMING AND PROCESSING PROCEDURES 

for entering and leaving the trace routine at any point desired when 
testing the object program. In a sense, a trace routine permits recon- 
structing the patient's chart — temperature, blood pressure, and 
pulse — while healthy, ill, and dead. Of course, executing the trace 
routine may be wasted, if the object program runs to the end without 
stopping. A trace routine applied to a healthy program is similar to a 
medical examination for a person who proves to be healthy. A post- 
mortem routine may be incorporated into a trace routine to get a dump 
of storage and selected registers, if the program halts. 

Simulator Program. One clever use for interpretive routines 
arises in computer simulation, whereby one computer operates with 
instructions and coding designed for another computer. It would be 
possible, for instance, for a real computer designed to execute one 
instruction repertoire to operate with a program written in the instruc- 
tions described for the hypothetical computer in Chapter 3. 

A simulator program is essentially a group of subroutines. For 
each instruction to be executed — ADD A137, CMP B290 — the execu- 
tive program would jump to a subroutine that would perform, in the 
real machine's codes, the indicated operation. After completing the 
subroutine for one instruction, the simulator would return to execute 
the next instruction in the object program. 

A simulator is useful when changing from one computer to an- 
other; the user can, by means of a simulator, run existing, tested pro- 
grams until he can rewrite his programs and test them for the new 
machine. Seldom-used programs may be run by means of the simulator 
for an indefinite period, despite some loss in machine efficiency. Repro- 
gramming effort can be concentrated on major programs that are con- 
stantly used where the extra running time of simulation is too costly. 

If a similar computer is not available for emergency use, a simu- 
lator may be used to permit running urgent programs on any available 
computer that has enough capacity and speed. Simulation is also used 
to test programs when a new computer is to replace one already in use. 
The existing computer can, by means of a simulation routine, test the 
new programs. A medium-sized computer may be used economically 
to test and debug programs for a large computer. The concept of com- 
puter simulation bridges some of the lack of compatibility between 
one computer and another. 

In general, a computer operates best with programs written in its 
code. A large computer interpreting a program written for a medium 
computer will act essentially as a medium machine. Contrariwise, a 
medium computer may not be able to efficiently simulate a large ma- 
chine. Limited storage or complete lack of certain features — tape units, 
index registers, or ability to handle alphabetic characters — limits the 
simulation ability of medium computers. 






ADDITIONAL PROGRAMMING TECHNIQUES 273 

Compiling Routines 

A compiler is an executive routine that translates into machine 
code a program originally written in pseudo-code. The translation may 
yield another pseudo-code for further translation by an interpreter. 

Translator. A compiler can translate the operations specified 
in the main program before they are executed. In this way the whole 
object program is set up in the desired language before any of the 
translated program is carried out. 

The output from compiling a program is a translated program 
that can be executed as such, run by means of an interpretive routine, 
or used in a secondary compiling step. 

A simple compiler might be used to translate a mnemonic pseudo- 
code into the actual code used by the computer and assign storage 
locations. Translation from mnemonic to numerical code may compli- 
cate debugging because the programmer is not familiar with the ma- 
chine's numerical code. One way out of the dilemma is to let the 
programmer use a pseudo-code that he likes and keep his program in 
the original language during debugging. This can be done by using an 
interpretive routine to run the object program during debugging. After 
check-out, the final version of the program (still in pseudo-code) can 
be compiled into the numerical code of the machine. The program in 
numerical machine code is then used alone. 

Minimum-latency Programs. One common compiling routine is 
used to produce programs with instruction and data-storage locations 
allocated for minimum latency. For example, a programmer writes 
a program with symbolic addresses. The programmer's routine is first 
run under the guidance of a compiling routine that assigns absolute 
storage locations to instructions and yields the finished program that 
will run with the least time spent waiting for instructions and data 
to become available, which is what "minimum latency'' means. For 
computers that run programs faster if instructions are stored in non- 
consecutive locations, the assignment of storage locations to get mini- 
mum latency can be a major programming job in itself. Some compilers 
that produce minimum-latency programs require that the programmer 
provide a program with symbolic addresses and also a table to serve as 
a guide for assigning absolute addresses. Other compilers work from 
a statement of the total number of words in each data block and com- 
pute the address table, if the programmer merely specifies where he 
wishes the first instruction to be stored. A compiler may reserve for 
instructions a portion of storage that cannot be exceeded and cannot 
be used to store data regardless of the size of the program. This scheme 
may waste storage locations assigned to instructions; on the other hand, 
it may require that the data be handled in several passes through the 
computer because of insufficient storage for instructions. 



274 PROGRAMMING AND PROCESSING PROCEDURES 

Simple compiling routines are useful in many types of programs. 
A program written in machine code with absolute addresses may be 
preferable in some cases, although the fact that a non-trivial fraction 
of storage must be reserved for an interpretive or compiling routine 
deters its use. The extra running time, since a computer is slowed by 
the execution of non-machine programs, may exceed the number of 
hours available each day. Quick-running programs are important for 
big applications that are used repeatedly. An experienced programmer 
may beat the compiler at achieving minimum latency since he will 
notice special short cuts. If lack of storage precludes minimum latency 
for all instructions, the programmer can use optimum locations for the 
important ones, placing others wherever there is room. 



Generating Routines 



Advanced compiling routines will automatically select subroutines 
from a file of routines stored on tape or will generate special subrou- 
tines as needed. It is suitable to have the computer compile the neces- 
sary subroutines for simple situations. The programmer may specify, 
for example, that a square-root routine is needed at a certain point 
in his program. The compiler will search the file, select the subroutine, 
assign storage locations, and provide for jumps to and from the main 
section of the program. Minimum latency programming is also some- 
times involved. 

It may be necessary to devise a routine better suited to the ap- 
plication than any subroutine in the library. A "generator" routine 
creates a subroutine to handle problems when the parameters — values 
of factors — encountered in the problem are variable and the compiling 
routine is to be used for different cases. Facts about the application 
to be handled are used by the generator routine to generate a tailored 
subroutine. For example, the following parameters or facts would 
be needed to generate a routine for checking the sequence of records 
in a file: 

1. Input media used — cards or tape 

2. Code used in file — alphabetic, numerical, or alphanumerical 

3. Number of records per block and their repeat pattern, if tape is used 
as input 

4. Length of items to be sequence checked — two or more words, one full 
word, or a part of one word 

5. Position in the record — first, second, last, or other word — of the items 
to be sequence checked 

6. End-of-file tag 

7. The output desired 

A generating routine can, by using a skeleton sequence-checking 
routine and these parameters, compile a sequence-checking program 



ADDITIONAL PROGRAMMING TECHNIQUES 275 

for the specific application. In a series of steps, compiling routines can 
be run on the computer to construct complex programs. 

Conversion Routines 

Special compiling routines are sometimes used to convert data 
from one mode to another — decimal to binary and fixed point to float- 
ing point, or vice versa. In simplest form, such conversion routines 
do little more than handle the data before the main program takes 
over. Conversion routines, on the other hand, are often used in con- 
junction with a more extensive compiling program. A computer that 
represents numbers in the binary mode requires conversion of input 
data from decimal to binary form. New computers used for business 
processing will handle decimal numbers with automatic conversion to 
machine code as part of the input process. The fact that most busi- 
ness-data processing can be done with alphanumerical data in the fixed 
decimal point mode limits the need to use data-conversion routines. 

EXAMPLES OF AUTOMATIC PROGRAMMING 

Two examples will indicate how compilers are used to prepare 
programs. One example evaluates a simple formula, and the other 
example calculates a payroll. 

Formula Translation 

Intricate compiling routines are used to translate formulas from 
the way that people write them to a program for the computer to use. 
The programmer must observe some conventions by writing in a speci- 
fied format for a formula-translation routine — abbreviated FOR 
TRANSIT by its designers — to generate a program to evaluate the 
formula. (FOR TRANSIT, 1957. ) 

For a trivial example, the formula for the area of a circle is 

D 2 

A = w * , where A is the area, D is the diameter, and w is a constant, 

3.1416. A programmer can write a program to find the area of a circle 
by writing merely: 

A = (3.1416xDxx2)/4 

The "x" means multiply, the "xx" means that the following num- 
ber "2" is an exponent in order to square D, and the "/" means divide. 
Using the formula as written, the compiling routine will generate a 
program — that is, translate the formula into a program — to do the 
following: 

1. Square D to get D 2 . 

2. Multiply D 2 by 3.1416. 

3. Divide the product by 4. 

4. Store the resulting area in some storage location from which it can 
be taken later for use in the program or for output. 



276 PROGRAMMING AND PROCESSING PROCEDURES 

If the programmer simply wants to find areas of circles for many 
different diameters, the complete manual program that he writes 
would: 

1. Specify how many values forD will be used, or, if the computer is to 
find areas for all values between 0.000 and .999 in steps of 0.001, 
specify this fact. 

2. Instruct the computer to READ D, if the values of D are to be ob- 
tained from input. 

3. Write the formula. 

4. Instruct the computer to PUNCH A or WRITE A (or WRITE A, D, 
if both area and diameter are wanted together as output). 

The programmer writes in a simple, set format, as suggested by 
the operation READ D. The formula-translation compiling routine 
may include both the generation of a program and the assignment 
of addresses for minimum latency, if that will cut program running 
time. 

Formula-translation routines work by generating programs from 
the skeleton subroutines and parameters given in the programmer's 
instructions. For instance, to generate the part of the program needed 
to find the area, the compiling routine would use the = sign as an in- 
dication that something called A in symbolic language was to be stored 
in some location for further use. In addition, it would evaluate the 
(3.1416 x D xx 2)/4 part of the formula. The xx would cause it to gen- 
erate a routine to multiply D by itself. Then the x would indicate that 
it should generate a routine to multiply the first answer by 3.1416. 
Finally, the / will cause it to generate a routine to divide the product 
by 4. The routines to do these simple things would be skeleton sub- 
routines of a few instructions previously prepared. 

Formula-translating routines are, of course, designed primarily 
for engineering and scientific programming, although they may be use- 
ful in some types of business processing. 

Business Compiler 

Several computer manufacturers have developed compiling rou- 
tines for business applications. The programming of a simple payroll 
problem in the FLOW-MATIC system developed for use with the 
Remington Rand Univac computers will illustrate the use of a busi- 
ness compiler (FLOW-MATIC, 1958). 

The basic process is extremely simple. The master file and data 
on hours worked are processed to produce a payroll and a tape to 
handle erroneous input. Input consists of two files — a personnel master 
file, and a file of hours worked during a certain period, say, one week. 



ADDITIONAL PROGRAMMING TECHNIQUES 277 

The programmer provides the facts necessary for the compiling 
routine by filling in preprinted sheets. The English name of the file 
"master" is given along with data that the routine will need to handle 
the file — file design, label, location of label, and other details. These 
names are spelled out in ordinary English words to provide a cross 
reference to the program which will simply call for them by their 
names. The programmer' s work in filling in the data design forms is 
simpler than it first appears because much of it is preprinted, and ex- 
planations are listed on the form itself. 

Figure 8-2 is a flow chart of the payroll program with the program 
steps indicated in parentheses. The program starts with the input 
operation (0) and then in operation (1) compares an employee's badge 
number in the master file with numbers in the file of hours worked. 
If there is a record of hours worked for an employee but no master 
record, represented by the condition A > B, the (e)exit from the com- 
parison is followed to operation (17) to type the badge number error, 
operation (18) to read another item, and operation (19) to jump to 
operation (1 ) to repeat the loop for the next employee. 

If the badge numbers match in operation (1), the program con- 
tinues to operation (2) for testing the badge number against the end- 
of-file sentinel of Z's. When the end of the file is reached, path (§) is 
followed to the close-out and stop in operations (22) and (23). Other- 
wise, the program computes the gross pay in operations (3) and (4) 
and then makes appropriate deductions in operations (5) and (6) and 
(11) through (16). The completed item is written out by operation (7) 
and the next item is read from each field by operations (8) and (9) to 
start processing for the next employee at (a) . 

The payroll program itself is given in FLOW-MATIC code in 
Figure 8-3. The coding is written in English call words and functions, 
although it must adhere to conventions set by the designers of FLOW- 
MATIC. A "call word" is a set of characters identifying a subroutine 
and containing data about parameters that are to be inserted in the 
subroutine or data about the operands. Some of the 30 call words and 
functions included in FLOW-MATIC, which can be expanded to in- 
clude other words through the freedom offered by the X-l call word, 
are defined as follows: 

Call Word Function 

ADD Adds two or more fields and places the result in a specified 

field. 

CLOSE-OUT Terminates the output file. 

COMPARE Examines two fields for magnitude and equality and branches 
accordingly. 



278 



PROGRAMMING AND PROCESSING PROCEDURES 



(0) 




Input 

Master file A 

Hours-worked file B 

Output 

Payroll file C 

HspC 




Compare 

Badge-number (A) \^=B S~\ 

with ] — ^vy- 

Badge-number (B) 



A> B 



A < B 




If 
pother 



(6) 



Move 

Gross-pay (C) 
to 
Net-pay (C) 




11) 




Subtract Union-dues (A) 
and Bond-ded (A) 
from Gross-pay (C) 
Store in Net-pay (C) 



12) 



Jump 
to OP 7 



■*© 



(13) 




Subtract Union-dues (A) 
from Gross-pay (C) 
Store in Net-pay (C) 



(14) 



Jump 
to OP 7 



^0 



(15) 




Subtract Bond-ded (A) 
from Gross-pay (C) 
Store in Net-pay (C) 



(16) 



Jump 
to OP 7 



-0 



Figure 8-2. Flow chart for payroll program 



ADDITIONAL PROGRAMMING TECHNIQUES 



279 




Transfer 
Employee in A 

to 
Employee in C 



(4) 



Multiply 

Hours-wkd (B) by 
Hourly-rate (A) -►T^) 
Giving 
Gross Pay (C) 



(8) 




(9) 




JO) 


Read-item 
B 


ib, 


Read-item 
A 


it, 


Jump 
toOPl 







X 

S if N 



I End 



End Lw/TN / End ', ^,0, 



\ Data y 



Data / 



-KD 



(17) 



©-* 



Type 

Error 
Badge-number (B) 




(20) 



©-► 



Read-item 
A 



(21) 



Jump 
to OP 1 



•0 



(22) 



o 



Close-out 

(C) 




280 PROGRAMMING AND PROCESSING PROCEDURES 

COUNT Adds an increment to the field specified and, if desired, 

branches upon reaching a limit. 

INSERT Places a specified constant into one or more fields. 

READ-ITEM Supplies the next item of an input file and branches to a des- 
ignated operation when the file is exhausted. 

X-l Provides the facility for performing functions not previously 

described. 

These call words and functions, which are oriented toward busi- 
ness problems, should be contrasted with the instruction codes given 
in Chapter 3, which are machine-oriented. You should quickly get a 
feeling for the demands that each type of language places on pro- 
grammers. 

As an example of the call words and functions, operation num- 
ber (1) is written "(1) Compare Badge-number (A) with Badge-number 
(B); if greater, go to operation (17); if equal, go to operation (2); other- 
wise, go to operation (20)." The programmer, by writing in this fash- 
ion, is actually following the set format: 

(h) A COMPARE A field-name A (f J A WITH A field-name A (f 2 ) A 
; A IF A GREATER A GO A TO A OPERATION A h 1 A 
; A IF A EQUAL A GO A TO A OPERATION A h 2 A 
; A OTHERWISE A GO A TO A OPERATION A h 3 a . 

Operation numbers are indicated by h for the present operation 
and h 1? h 2 , h 3 for others. The field-name is the name assigned to the 
data field by the programmer; for example, Badge-number, and file 
letters are f x and f 2 . A blank space between words is indicated by a 
delta A. A punctuation mark is also separated from a word by a delta. 
A line under O indicates the letter, to distinguish it from the numeral 
zero. 

This example of a business compiler applied to payroll processing 
should be studied carefully to understand the relationship between 
file and item design, the flow chart, and the program coded in a 
business-oriented language. 

Automatic programming schemes can reduce programming time 
and cost. The programmer can work with a problem-oriented language 
and have the computer use executive routines to prepare the machine- 
language program. The price of using executive routines, apart from 
the fact that they are expensive to prepare, may be reduced flexibility 
and increased computing time both to compile the desired program and 
to run it. An executive routine that could do everything would prob- 
ably be as difficult to use as a basic machine program. Where particular 
problems are fairly common, the cost of developing and using an execu- 
tive routine can be justified. But unusual types of problems that would 



ADDITIONAL PROGRAMMING TECHNIQUES 281 



8 



) HSPC 

(/) Ctrm.aM+ BtJU^ -/HoumUrU (ft) «a& 

(if.) M oMfty A+uas- u^oLu (6) /On, AJnAdjp;ft<cU< W 
(S) TA*tit sv**rd*> - t++^> ( 8) OjlOu**& <p 

■ 'oi JLo^oA tyo w opMaJt'ff* II j aJja.vU&f' 2- 
' } Jj JIaa+aX <p ik> ojfiJAajho*> /3y oft** uji'iJt, 

fa) /Utrvt «Urt>L ~p*<f (C) &> Slut- fW i,C) • 

(7) [jOjCM' -*Jdz*«. C 

fa) fauJL - c£ov* Aj M jC^J H <<4jU. *u & ofUWajfr'v* /, 
(iff) Q<"**p yfo ofu* after*. /. 

(ll) SuPUtuJ U*Ucr» - liA^S (4) tunJL 

/nrvU. -del CAd^rr* ft\m-f*^ (c) 

(id) Q.U*«fi *° 0>%AAd!(i*l\ 7. 

f/3) S^driuw' Cv*yi<m.-d<A4S CA) ^^ yK - 

<y\^Sf - jum^l, (c)j /urifJUs yd* /Us*K<w»d4A, 

(it) Q*e»y> & oyUAiuft'o*, 7. 

(n) 'Tw*' JUMlj /rkjju. - sha*hMa. ( 8), 

(n) {&aJ.-'ajI<*». b, 

(pJ) tit****) w> otuA ask'?* /. 

(03) c =Mp. (&*JL) 

Figure 8-3. FLOW-MATIC code for payroll program 



282 PROGRAMMING AND PROCESSING PROCEDURES 

require special executive routines are probably handled more eco- 
nomically by programs written in near-basic machine language so 
that simple executive routines are adequate. The crux of the matter 
of manual versus automatic programming is an economic one: Is it 
more efficient to use a computer to prepare programs than to rely upon 
programmers? Executive routines are expensive to prepare, and their 
costs may outweigh many of their other advantages. 



SUMMARY 

The total amount of money involved in analyzing and program- 
ming business applications for computer use is big enough to warrant 
the use of any programming method that promises to reduce the total 
cost. Advanced methods are aimed at improving program preparation 
for business and engineering problems. The broader questions of the 
economics of data-processing systems are treated at length in Chapters 
10 through 12. 

Data can be stored differently outside and inside a computer. 
During the input and output operations, data fields can be rearranged, 
packed, unpacked, filled in, shortened, or dropped. Constant data can 
be introduced automatically. Checking and editing during input serve 
to increase the reliability of the data. 

The amount of processing time required depends, among other 
things, on the latency — the waiting time to get an instruction or operand 
from storage. Latency is uniformly short, and in the microsecond 
range, for any address in magnetic-core storage. For magnetic drums 
latency depends on drum circumference, speed, and storage pattern. 
Many ingenious schemes are used for reducing latency either by ar- 
ranging data in suitable locations or by placing several read-write 
heads around a track. 

A programmer can use longhand methods to arrange instructions 
and data in storage to get minimum latency. Optimum assembly pro- 
grams are available for a programmer to use in conjunction with his 
program to arrange it for minimum latency. 

Errors, mistakes, and malfunctions have different causes and, of 
course, different remedies. An error is the loss in precision in a quan- 
tity because of rounding, inheritance, or overflow. A mistake is a human 
blunder that results in an incorrect instruction in a program or in 
coding. A mistake may either stop the computer or let operations con- 
tinue and give a wrong answer. Post-mortem routines aid a programmer 
in detecting mistakes in a program. A malfunction is a failure in com- 
puter operation that may arise because of an invalid code, an incorrect 
code, or a transient condition that causes a pulse to be gained or lost 
(such transient conditions occur once in a million or billion operations 



ADDITIONAL PROGRAMMING TECHNIQUES 283 

for electronic equipment in good operating condition). In machine 
design, systems analysis, program preparation, and in computer 
operation, precautions are necessary to detect the occurrence of and 
to minimize the consequences of errors, mistakes, and malfunctions. 

Computer instruction repertoires range from about a dozen to 
several hundred orders. Some computers provide for variations on 
orders so that, effectively, many hundred orders are available to the 
programmer. Each additional order provided for a computer costs 
money to design and build. On the other hand, it is easier to prepare 
programs as the instruction repertoire is increased — but only up to 
some point. A broader instruction repertoire may be partially wasted 
because it is difficult to exploit the subtle differences in instructions. 
The suitability of an instruction repertoire is akin to the choice of using 
either basic English or the Kings English: neither vocabulary is en- 
tirely suitable for everyday communication so that most people prefer 
an intermediate vocabulary. A reasonable range of instructions is con- 
sidered easy to learn and efficient for both program preparation and 
computer operations. 

Jump instructions may be designed into the computer to handle 
every possible outcome from a comparison — greater, less, equal, posi- 
tive, and negative. This avoids any ambiguity that might arise if some 
of the outcomes were handled explicitly and some were handled as the 
only logically remaining case. For example, if a test is made for nega- 
tive or zero and that test is not fulfilled, then the outcome under con- 
sideration must be positive. An instruction to set a value in an index 
register and to jump is invaluable for keeping track of the point of 
departure from the main program in order to go to a subroutine and 
later return to the main program at the appropriate point. 

Table look-up instructions use an argument — the entry value — to 
find the function — the desired value, with arguments arranged in an 
orderly fashion. For example, a table consisting of an orderly arrange- 
ment of department numbers and overhead costs can be updated by 
handling cost transactions in any departmental sequence desired. 
Otherwise, transactions might be sorted by department number and 
processed against the file. 

Floating decimal point arithmetic is built into some computers 
to facilitate keeping track of the decimal point. Such operations are 
similar to logarithms because each number is treated as a mantissa 
and characteristic. The number 92784.71, for example, becomes a man- 
tissa of .92784 and characteristic of 55 — a power of 5, for 10 5 and an 
artificial base of 50 — and is stored in a seven-digit word as .9278455. 
Instruction execution time may be increased and precision unex- 
pectedly lost by use of floating point. Joint use of both floating and 
fixed point modes may be desirable in some applications. 



284 PROGRAMMING AND PROCESSING PROCEDURES 

Pseudo-codes are widely used to facilitate programming. A pro- 
grammer writes in mnemonic code and then uses a ready-made program 
for converting pseudo-codes into machine codes to be run on the com- 
puter. The symbolic address scheme is, in some ways, similar to the 
pseudo-code idea, for it enables the programmer to use alphanumerical 
names or abbreviations to refer to storage locations. He can postpone 
the assignment of numerical or absolute addresses to a later stage. The 
assignment of absolute for symbolic addresses can, of course, be 
handled by the computer by means of a suitable program. The relative 
address scheme, which is an extension of symbolic addressing, relates 
the address of one storage location to another that is nearby. This 
scheme makes the segment of a program independent of absolute loca- 
tions so that it can be placed anywhere in storage. 

Subroutines to instruct the computer to carry out a well-defined 
operation are used in programs in either the open or closed mode. The 
open mode repeats the subroutine at each point where it is wanted in 
the main program. In the closed mode, a subroutine is placed outside 
the main program and a transfer to the subroutine is required each time 
it is used. A transfer is required, of course, to return from a closed sub- 
routine to the main program. 

Automatic programming attempts to bridge the gap between a 
computer-oriented language — add, compare, jump — and a problem- 
oriented language that a business user would much prefer — update 
files, prepare payrolls. One approach is to use interpretive routines 
that translate pseudo-code programs into machine codes and imme- 
diately perform the indicated operations by means of subroutines. Post- 
mortems, traces, and simulators are examples of interpretive routines 
developed for testing and debugging programs. 

The compiler approach to automatic programming is a two-phase 
process: (1) translating a pseudo-code program into a machine- 
language program, and (2) executing the compiled program. Once 
compiled, the program can be run whenever desired. Generator rou- 
tines are used to compile programs that are better tailored to a par- 
ticular application when the parameters involved are variable. 

Two examples of automatic programming for entirely different 
kinds of problems are formula translation and payroll calculation. 
These two examples point up some of the differences, and also some of 
the complexities, occurring in mathematical and business problems. 
Much hope is held out that automatic programming will bridge the gap 
between the capacity of electronic computers to solve any problem and 
the practical implementation of the ability to solve particular prob- 
lems. The efficient use of computers hinges on resolving the wide gulf 
between their capability to do anything in general and the abilities of 
people to make them accomplish a specific task. 



ADDITIONAL PROGRAMMING TECHNIQUES 285 
REFERENCES AND SUPPLEMENTAL READINGS 

Automatic Coding, Monograph No. 3, Journal of The Franklin Institute, 
Philadelphia, 1957, 118 pp. This monograph consists of the proceedings of 
a symposium held in early 1957 at The Franklin Institute in Philadelphia to 
discuss the development and use of automatic coding schemes. It includes 
papers on systems of debugging automatic coding, PRINT 1 (for the IBM 
705), the procedure translator, OMNICODE, a matrix compiler (for 
Univac), a mathematical language compiler, and a mechanized approach to 
automatic coding. 

FLOW-MATIC Programming System, New York, Remington Rand Univac, 
1958, 115 pp. This booklet (and the 1959 edition, called FLOW-MATIC 
Programming for the UNIVAC I and UNIVAC 11 Data Automation Sys- 
tem, 103 pp.) describes the FLOW-MATIC method for using an English 
language description of application requirements as the instruction code. 
The computer is directed to translate the businessman's vocabulary auto- 
matically into detailed coded instructions. The FLOW-MATIC method, 
charting and program writing, file-data layout and design, storage utiliza- 
tion, relative machine coding, and compiling routine are described. 

Gottlieb, C. C. "The Cost of Programming and Coding," Computers and 
Automation, vol. 3: 14-15+ (September 1954). This article discusses the 
factors that make the cost of programming $2 to $10 per single address 
order for manually written programs. These estimates of programming costs 
at the University of Toronto were low because of the omission of overhead, 
low machine rate, and relationship of Canadian prices to those in the 
United States. Gottlieb's quoted costs were, on the other hand, high be- 
cause of concentration on writing library routines, emphasis on develop- 
ing special aids for writing and verifying programs, and the high salary 
element in formulating and programming problems. 

Hopper, Grace M. "Automatic Programming for Business Applications,'' pp. 
45-50 in Proceedings of the Fourth Annual Computer Applications Sympo- 
sium, Chicago, Armour Research Foundation of Illinois Institute of Tech- 
nology, 1958. This paper describes the chain of events leading from coding 
in machine language through interpreters and compilers using pseudo- 
codes and relative notation. Two requirements exist for business problems: 
first, a method for describing business data; and, second, a means for 
writing, for a particular operation, the subroutine to execute that opera- 
tion on the corresponding data. The concept takes shape as a compiling 
system with an associated library of generators, service routines, and data 
descriptions. English language coding has been developed and tested. The 
next steps are to produce a compiler to make compilers and to advance into 
the area of programming itself. 



286 PROGRAMMING AND PROCESSING PROCEDURES 

Hopper, Grace M., and J. W. Mauchly. "Influence of Programming Tech- 
niques on the Design of Computers,'' Proceedings of the Institute of Radio 
Engineers, vol. 41: 1250-1254 (October 1953). One of the primary problems 
in the use of computers is the time and skill required for programming. This 
article describes the early approaches to this problem. It treats the design 
and use of stored subprograms. Using this method, simple programs are put 
into the calculator, which can then select from its library of subprograms to 
produce the final working program. The article discusses the significance of 
this development to small installations where cost influences preclude 
having a large programming staff. It also discusses the necessary interplay 
between design engineers and programmers in the design of a machine for 
both low initial cost and subsequent low programming time and cost. 

Laden, H. N. "Automatic Programming — Fact or Fancy?", Management and 
Business Automation, vol. 1: 29-35 (February 1959). This article is a thor- 
ough exposition of automatic programming chiefly through an orderly 
arrangement of its principal vocabulary and suitable definitions. Advan- 
tages, practical applications, and limitations are considered. The current 
state of development and future prospects are reviewed to show the effect 
on get-ready costs in applying computers to business problems. 

Price Waterhouse & Co. The Auditor Encounters Electronic Data Processing, 
New York, International Business Machines Corporation, n.d., 23 pp. This 
monograph, prepared by a large firm of auditors for a computer manufac- 
turer, deals with the effect of these systems on internal control procedures 
and the auditability of such records by internal audit staffs and indepen- 
dent accountants. Processing accuracy is treated in detail under the follow- 
ing topics: record count, hash totals, proof figures, reverse multiplication, 
limit checks, cross footing balance checks, checkpoints, self-checking num- 
bers, sequence checks, labels, and built-in checks. Optimism is expressed 
about the ability of the auditor to adapt to evolutionary changes in con- 
ditions without sacrificing his basic standards, although a revolutionary 
change in clerical work is expected. 

Programmer s Reference Manual: FOR TRANSIT — Automatic Coding 
System for the IBM 650, New York, International Business Machines Cor- 
poration, 1957, 67 pp. This manual is the basic reference material for FOR 
TRANSIT, an automatic coding system for the IBM 650. The FOR 
TRANSIT system makes available to 650 users a language called 
FORTRAN closely resembling the language of mathematics and designed 
for scientific and engineering computations. A chief purpose is to provide 
the scientist with an efficient means of writing programs that require no 
knowledge of the computer and only a short period of training. 



CHAPTER NINE 



PROCESSING 
PROCEDURES 



This chapter deals with the basic factors that determine how data 
are processed. These factors include: how the enterprise is organized 
and managed, the reports it wants, and the data available to it. 
Methods already in use or available in the near future also affect the 
processing techniques that are used. Certain aspects of these tech- 
niques are covered in more detail, to show more precisely how the 
various factors determine the nature of a system; these aspects are 
fragmentary and consolidated processing, input-output, data flow, 
sorting, and integrated data processing. 



TECHNIQUES AVAILABLE 

Processing procedures do not reflect immediately the latest avail- 
able equipment and techniques. Procedures in use at any one time are 
based on equipment and techniques developed over a long period of 
time. One insurance company expert has said, off the record, that an 
important system change should be made no more than once every 
three to five years because more frequent changes lead to chaos. Two 
aspects of available processing techniques that deserve discussion 
are the degree of automation of the system and the method of organiz- 
ing and keeping files. 

Degree of Automation 

Systems range from being solely manual to almost fully automatic. 
Rarely is a system at one extreme or the other. The ratio of equipment 
to labor is a quick guide to the degree of automation. 

Systems have different characteristics, which correspond to vary- 
ing ratios of capital to labor. In manual systems, based on loosely de- 
fined procedures and rules that are not rigidly followed, operations 
are flexible and exceptions are handled by supervisors. Arithmetical 

287 



288 PROGRAMMING AND PROCESSING PROCEDURES 

operations are expensive and inaccurate because people are poor at 
arithmetic, even when using calculators. Many people are required in 
even the most automatic systems developed to date, but automatic 
systems reflect a high ratio of capital to labor. An automatic system 
relies on carefully defined procedures, and operating routines are fol- 
lowed to the letter. The cost of arithmetical operations is trivial com- 
pared to their cost in a manual system. Exceptions and new situations 
involve program modification or reprogramming; and sometimes re- 
writing a program by hand may be too slow to meet requirements. 
Automatic programming promises to increase the flexibility of auto- 
matic systems by shortening program revision. 

Scale of Equipment. The scale of equipment can be measured 
in terms of its capacity for processing data. Any processor, whether 
manual or highly automatic, must be large enough to handle a program 
and the data related to it. A segment of an over-all program can par- 
tially process the data and then call in and use other segments of the 
program as required. The results are written out and the cycle repeated 
on additional data. 

Specialization. Specialization occurs in data-processing systems 
if facilities are not powerful enough to hold the programs required 
for processing all types of transactions. Specialization takes many 
forms. A common plan is to deal with one type of transaction at a time. 
One class of transactions involves the use of certain procedures for 
processing these transactions against a part of the over-all files of the 
organization. 

Some kind of specialization — by transaction, procedure, for proc- 
essing, or organization of file — occurs in most systems. Manual sys- 
tems follow the principle of division of labor for efficient processing. 
Transactions are first classified by type and then given to people who 
are "programmed," (instructed and experienced) to deal with that 
type of transaction and related files. Specialization may be carried 
so far that each person does only a small part of the processing required 
for even one type of transaction. The people operate like links in an 
assembly line — pick it up, process it, put it down — with little regard for 
the origin or destination of the item involved. 

Similar specialization may occur in using automatic data-process- 
ing equipment. People are unable, in any practical sense, to build 
equipment and design programs that will handle all types of trans- 
actions and related files for business-data processing. Programs for 
automatic equipment are likely to follow the same general plan of 
specialization that is used in manual systems. On the other hand, the 
degree of specialization is reduced somewhat in automatic systems be- 
cause of the high processing speeds, the use of consolidated instead 
of fragmentary files, and the high cost of input and output operations. 



PROCESSING PROCEDURES 289 

Files 

Methods available for keeping files and processing transactions 
have an important bearing on how data are processed. All files for a 
business might be kept in one consolidated master file. The duplica- 
tion of file contents that occurs if records are maintained in several 
places throughout the organization would be reduced to a minimum. 
Any transaction could, assuming an appropriate instruction program, 
be processed against the files whenever desired. If access to the files 
were quick enough, transactions could be handled on-line without sort- 
ing them by type before handling. 

Consolidated files for all the records needed by a large organiza- 
tion would require a huge amount of active storage; but the activity 
rate for many file items would be small. A composite program for proc- 
essing any kind of transaction against any record in a consolidated 
file would be more intricate than programs now in use. Available file- 
processing methods do not ordinarily have enough capacity to handle 
one consolidated file for a company. Files, programs, and transactions 
are, therefore, broken into segments for efficient processing. 

FRAGMENTARY AND CONSOLIDATED PROCESSING 

The fragmentary and consolidated approaches to data processing, 
mentioned above, deserve more careful consideration. 

Fragmentary Processing 

The "fragmentary approach" means that the over-all task of data 
processing is subdivided into parts for efficient solution. A piecemeal 
approach is used for several reasons. Various parts of a business may 
be so complex that composite processing would overtax the ingenuity 
of people and the capacity of equipment. 

The limited capacity of manual and electromechanical systems 
results in a high degree of specialization. It is expensive to instruct 
people to process data, follow instructions, and perform calculations. 
People are rather good at referring to files; but having files nearby 
leads to a high degree of duplication merely for cross-reference pur- 
poses and for availability of common data. People and equipment 
handling only small segments of a problem are scattered throughout 
the business. The use of many similar facilities gives reserve capacity 
against peak loads and breakdowns, but it is not efficient. 

Fragmentary processing implies multiple passes of master files. 
Transactions are classified by type and then sorted into sequence. Each 
type is, in turn, processed against an appropriate master file. Multiple 
processing is efficient only if files are small enough to permit repeated 
handling. The fact that most data processors must rewrite a tape file 






290 PROGRAMMING AND PROCESSING PROCEDURES 

completely in order to change a few records warrants some kind of 
specialization of files or batching of transactions to increase the effec- 
tive work done in each file updating pass. 

Consolidated Processing 

The "consolidated approach" means that the bits and pieces of 
the fragmentary approach to data processing are combined into larger 
units. Consolidated processing is warranted, if various parts of the 
organization are closely related and if input, processing, files, and 
output have a common usage (Wiseman, 1954). Consolidated process- 
ing requires larger-scale facilities than fragmentary processing. Files 
are consolidated and duplicate parts eliminated so that any type of 
transaction can be handled in any sequence desired. A master program 
calls up the appropriate program for completely processing a trans- 
action. Both kinds of routines are large and complex. Furthermore, 
exceptional situations involve elaborate programming. 

The ultimate in consolidated processing would probably be a single 
pass of all transactions against a master file. Unless random-access 
storage is used, transactions are probably sorted into sequence before 
processing in order to facilitate references to a file kept in the same 
sequence. Each transaction includes a code to call up the appropriate 
program for complete processing in a single pass of the files. When 
consolidated files are kept in active storage, they have a low activity 
rate because all records would be available to process even though the 
number of transactions remained the same. 

Actual Practices 

Actual practices reflect aspects of both the fragmentary and the 
consolidated approaches to data processing. The fragmentary approach 
has been used for a long time in large organizations, chiefly because of 
the low capacity of facilities. Because it is so widely used, many people 
think of fragmentary processing as the "natural" plan. This is true 
despite the fact that it was devised to cope with certain limitations 
in processing ability and might never have developed given other kinds 
of equipment. 

In recent years some progress has been made toward consolidating 
operations in one or two areas of a business in order to take advantage 
of the capabilities of new equipment. Scattered files for an employee — 
recording his earnings, pay history, personnel record, medical history, 
and so forth — may be consolidated for processing. Similar consolida- 
tion occurs for inventory — quantity control, distribution, replenish- 
ment, financial control, cataloguing, and related operations. The length 
of the combined file may be condensed by one-third. 

Limited experience indicates that consolidated processing, even in 
selected areas, raises many new points. Comprehensive processing 



PROCESSING PROCEDURES 291 

programs are far more complex to prepare than the individual programs 
required for fragmentary processing. Exceptional situations are more 
difficult to handle. Difficulties of moderate consolidation may be 
caused by the lack of ingenuity of people in devising new processing 
plans; on the other hand, people may overestimate the capacity of 
available equipment and try to make changes too rapidly. 

Available equipment does not have sufficient capacity — file stor- 
age space, processing speed, and adaptability to various programs — to 
permit complete consolidation of data processing in the near future. 
In addition, experimenting with consolidated processing schemes is 
necessary to develop efficient plans. Neither equipment nor people 
can, without severe disruption, change abruptly from one long- 
established plan to a radically different plan that affects the whole 
organization. 

INPUT METHODS 

Input and output methods are closely related, and they affect the 
way that data are processed. The output from one stage of processing 
is usually the input to another stage. This is true even when output 
goes from one organization to another. Only a small fraction of busi- 
ness data is wholly new in the sense that it did not exist before, and 
rarely is output at any stage discarded without further processing 
somewhere. In fact, data output that does not lead to some further 
action, and therefore processing, is of doubtful value. 

Factors of input and output that are worth considering here are 
accuracy, load, timing, and the ratio of equipment to labor. All of 
these factors influence processing procedures, although some of them 
are far easier to change than others. 

Equipment-to-labor Ratio 

Some input plans rely heavily on manual methods for getting data 
into processable form, while others make important use of equipment. 
The ratio of equipment to labor and commonly used input methods 
can be put briefly as follows: 

Ratio of 

Equipment 

to Labor Input Methods 

Low Key-punch for cards 

Tape-producing typewriter 

Intermediate By-product data recorders 

Mark-sensing schemes 
Tags attached to inventory item 
Cards in tub files 



292 PROGRAMMING AND PROCESSING PROCEDURES 

Production recorders 
Point-o-sale recorders 
Transacters 

High Direct input of prior output in 

suitable form 
Character-reading devices 

Low Ratio. A low ratio of equipment to labor means that manual 
operations are important for input. Two stages are used to get data 
into processable form. First, people write or type documents; second, 
they read documents and operate keyboards that punch cards or paper 
or write on magnetic tape. 

Intermediate Ratio. An intermediate ratio of equipment to 
labor means that more equipment and less labor is used than in systems 
that have a low ratio. The separate stages of preparing paper docu- 
ments and converting them to a processable medium are telescoped 
into one operation. A single manual operation yields data in machine- 
processable form. By-product data recorders yield two outputs: a 
printed record considered essential for people to use and data in a 
form suitable for automatic processing. 

Mark-sensing schemes give visually readable and mechanically 
processable data in one manual operation; but emphasis is usually 
placed on the automatic processing feature rather than on readability. 
Cards attached to inventory items or kept in tub files reduce the manual 
work of data input. Verified cards are mass produced for attaching to 
items until they are used, at which time the cards are detached for 
processing. A tub file is a convenient way to store cards that are mass 
produced until they are selected for processing. In some cases the cards 
are kept in "pockets" near the item involved. 

Production recorders and point-of-transaction recorders may com- 
bine data from several sources: manual entries on keyboards; repro- 
ductions from cards, plates, or tags; and data set up automatically by 
equipment. 

High Ratio. A high ratio of equipment to labor means that the 
system is essentially automatic. Almost no labor is required to use the 
output of one stage of processing as input at the next stage. Punched- 
card, punched-tape, and magnetic-tape output can be used as input at 
the next stage. 

The ratio of equipment to labor is also high for character-recogni- 
tion devices. Such equipment recognizes or reads characters and con- 
verts them to a form convenient for further processing. 

Accuracy 

Different ratios of equipment to labor in input systems have cer- 
tain implications for the accuracy of input data. Although everyone 



PROCESSING PROCEDURES 293 

seems to believe that his data-processing system is based on good input 
data, careful analysis usually shows that input data are far from ac- 
curate. People make numerous mistakes when originating input data. 

The problem of getting accurate input data can be attacked from 
two directions. One approach is to increase the manual effort; the 
other, to increase the use of equipment and minimize the manual work 
of input preparation. Each approach for reducing the margin of error — 
the difference between the calculated and the correct result — deserves 
study. 

Increased Manual Effort. The manual operations used in pre- 
paring input data may be repeated to detect errors. One approach 
is to repeat the manual operations involved in going from a readable to 
a processable form. Mechanical comparison of the results of both 
manual operations can disclose discrepancies to be eliminated. Data 
verified in this fashion are far more accurate than those resulting from 
either manual operation alone. Another way to verify the accuracy of 
input data is to read the results against the original source. Experience 
indicates that visual comparison is not so effective for disclosing 
mistakes as duplicated manual operations. 

Accuracy can be greatly improved, some analysts say, by making 
the originators of input data responsible for their accuracy — people 
are far more careful about the accuracy of data they originate if they 
must eliminate mistakes that are discovered later. Still, care is needed 
to avoid spending more than it is worth to get a higher degree of ac- 
curacy. These points are covered in Chapter 10. 

Increased Use of Equipment. Input data accuracy can be im- 
proved by more intensive use of equipment. Control totals developed 
in an early stage can be used to guard against mistakes in input opera- 
tions. Some control totals, as dollar amounts or quantities, are useful 
as part of the data. Other control totals — "nonsense" or "hash" totals 
of unit prices or catalogue numbers — may be developed solely to im- 
prove processing accuracy. In such schemes, the total is recomputed 
at the next stage and compared with the prior total solely to detect 
mistakes. 

A variation of the control total scheme is to include a check digit 
calculated according to certain rules for catalogue numbers, or other 
identifying numbers. A simple rule is to attach a digit to a number so 
that all digits, including the check digit, add to a multiple of ten. More 
elaborate rules are required if digits are likely to be switched. Each 
alternate digit, starting with the right-hand digit, may be multiplied 
by two before adding and attaching a check digit. 

Equipment can edit input data to detect simple mistakes, such as 
a double punch or no punch, in any card column. Other input media 
can be edited in a similar fashion. More elaborate input editing can 



294 PROGRAMMING AND PROCESSING PROCEDURES 

determine the plausibility of data, and new data can be compared with 
prior data to disclose unusual changes or variations from past patterns. 

Load 

Some input loads are controllable. Input data arising inside an 
organization are, within limits, controllable. The nature, quantity, 
and time of origination of new data are subject to some manipulation. 
Controllable loads of input data permit greater use of data-processing 
facilities, so that less reserve capacity is needed to handle peak loads. 

Some of the internal data load and most of the external data load, 
however, cannot be controlled. One solution is to have facilities large 
enough to handle peak loads, although this reduces the average utiliza- 
tion rate. Another scheme is to save some of the peak load for process- 
ing in low periods; but this may lead to intolerable delays. 

DATA FLOW 

An important objective of system design is to get an efficient flow 
of data. Several choices of data flow exist after data are available as 
input for processing: 

1. Data can be processed without delay — on line. 

2. Data can be stored temporarily and later processed in the same se- 
sequence — in line. 

3. Data can be accumulated, rearranged in some way, perhaps by sort- 
ing, and processed in batches — off-line. 

The data-flow plan selected affects input-output facilities, pro- 
grams, organization of files, and even the design of the data processor. 

On-line Processing 

The idea of on-line data flow is simple: data go directly to the 
processing unit, with no intermediate stages of classification or sorting 
between the origination of data and completed processing. The ac- 
curacy of input data is increased because people do not recopy data 
from original documents. Most of the input data can be developed in a 
suitable form in an earlier operation for selection and use when wanted. 
On-line operation is a quick way to get data into and results out of 
the processing unit. 

An on-line system involves a quick and uninterrupted flow of data 
from the point of origin to the processing unit; similarly, the output 
from processing is available without delay for control purposes. Auto- 
matic communication channels that depend as little as possible on 
people are required for a quick and uninterrupted flow of input and 
output. Wire circuits are commonly used within one location and be- 
tween scattered locations of an organization. 



PROCESSING PROCEDURES 295 

Example. A production control scheme for a job shop illustrates 
on-line processing. A machinist can report when he finishes a work 
piece by inserting into a card reader a punched card to identify the 
work piece and operation. He identifies himself by inserting another 
card or by operating a keyboard. The card reader-keyboard device 
sends data about the work piece, operation, and operator directly to 
the processing unit. The processing unit accepts these facts and 
searches its storage to find what should be done next and whether ma- 
terial and facilities are available. 

The processor prints a card or displays data in some way on the 
shop recorder to tell the machinist what piece to make next. It also 
authorizes him to withdraw the necessary material. This process in- 
volves both on-line input and on-line output. 

Factors in Design. Design of an on-line data-flow plan involves 
several factors that affect system efficiency. Two or more input stations 
may send data at the same time and cause a "waiting line" to develop. 
Faster processing of the data received from each station reduces the 
waiting time for other data. The processor may be designed to handle 
service requests from two or more stations at one time. Either faster 
processing or multiplexing (which handles several inputs at the same 
time) involves additional cost. If transactions occur at different rates, 
reserve capacity is required to handle high volumes. The processor is 
used at less than capacity when the volume of transactions is low. 
Low-volume periods may be filled in by applications that require only 
off-line processing. Time sharing between on-line and off-line applica- 
tions may give good results for both types. 

On-line data flow requires that all files and programs necessary 
to deal with transactions must be available to the processor. In the job 
shop example given earlier, the processor must find and adjust the 
records involved in each transaction. Only a few records throughout 
the whole file are affected for one transaction. Quick processing of 
large files requires fast access methods merely to find a desired record. 
On-line data flow is required for applications that need an immediate 
answer after each transaction so that operations can be controlled, 
but it may be a luxury where time schedules are not so tight. 

Real-time Processing. "On-line processing," broadly defined, 
includes computing results and making changes to improve the out- 
come of a process or operation while the events themselves are occur- 
ring. Real-time processing is defined in a similar way. On-line and 
real-time processing involves three stages: obtaining data, processing 
data, and making decisions while events are still in progress. Time 
lost in any stage postpones the ability to make a decision. If the events 
being reported on are changing rapidly, quick processing and output 



296 PROGRAMMING AND PROCESSING PROCEDURES 

are needed to make decisions before too much time is lost. If events 
change slowly, more time is available for processing data and making 
decisions. 

Of course, some time, at least fractions of a second, elapses be- 
tween obtaining data and making decisions. A small amount of elapsed 
time exists in even the most elaborate systems. Designers of elaborate 
systems sometimes become so hypnotized by the ingenuity or im- 
mensity of their systems that they are tempted to believe they can 
process data in zero time. This, of course, is absurd. Processing delay 
can be reduced, but never to zero, by using (1) automatic recorders 
to gather data, (2) automatic processors to calculate results and apply 
decision-making rules, and (3) automatic control equipment to regulate 
the process itself. Real-time control techniques utilizing computers 
are fairly well developed for some physical systems — refineries, chem- 
ical plants, and other process industries. Business-system control, on 
the other hand, is in the early stages of development. 

In-line Processing 

" In-line processing" is defined as the processing of data without 
sorting or treating in any way other than temporarily storing them. 
Transactions are accumulated for processing later, but the original 
sequence is unchanged, for only temporary storage is involved. At the 
proper time, transactions are appropriately processed. 

In-line processing might be thought of as on-line processing 
done under relaxed time requirements. Processing delay is increased, 
of course, if input is stored even temporarily before processing is 
completed. 

Example. Inventory might be controlled by on-line or in-line 
data flow. The nature of an in-line plan is worth examining. Trans- 
actions — orders, receipts, shipments, insertions to and deletions from 
catalogues, and so forth — are recorded in a form suitable for process- 
ing. At suitable intervals, perhaps daily, transactions are handled by 
the processor in the same sequence in which they arrive. 

The processing unit, by means of the program, determines what 
type of transaction is involved, finds the inventory item record, and 
handles the transaction and file record. When wanted, a list of all in- 
ventory items, or only of those requiring action, can be printed. 

Capacity and Load. In-line data flow has several advantages: 
input data handling is minimized; sorting or other manipulation is 
not required; data are recorded in a form suitable for temporary stor- 
age before processing; and processor capacity is required only for an 
average rather than for a peak load. Input from busy periods can be 
stored until later so that the average use of equipment is high. 



PROCESSING PROCEDURES 297 

A computer primarily assigned to on-line operations can also be 
used for in-line processing, if capacity permits. 

Storage Requirements. Processing equipment for on-line and in- 
line data flow are similar in many ways. Entire programs and all related 
data must be available in storage when transactions are processed. If 
master files are large, quick access to storage is necessary to keep proc- 
essing time within bounds. The fact that transactions are not classi- 
fied by type or sorted into sequence puts a heavy premium on quick 
access to storage. 

Even the simplest inventory accounting application involves 
orders, receipts, shipments, and additions to and deletions from cata- 
logue listings. Five different types of operations are involved for in- 
ventory transactions: 

1. Add ordered quantity to on-order file. 

2. Transfer received quantities from on-order to in-stock. 

3. Subtract shipped quantity from in-stock. 

4. Insert new item in catalogue. 

5. Delete old item from catalogue. 

Each type of operation requires its own instruction routine, and a 
control program can be used to select individual instruction routines. 
More storage is required for programs than if only one type of inven- 
tory transaction is handled at a time. If data for cost accounting, pay- 
roll, performance evaluation, and other functions are included, 
instruction program and file storage requirements may become excessive. 

On-line and in-line processing are generally limited to controlling 
a single function or a few functions with limited record files and pro- 
grams. Comprehensive on-line and in-line data-flow systems for busi- 
ness are still in the developmental stages. Mass storage drums and 
disks are used to hold files for on-line processing for selected applica- 
tions, such as inventory control. 

Off-line Processing 

"Off-line processing" involves accumulating and rearranging 
data, perhaps by sorting, before they are processed. The necessity of 
sorting transactions for off-line processing should be kept in mind. At 
least one transaction, a corresponding file record, and appropriate in- 
struction routines must be available to the processor at one time. If 
storage capacity is large enough, all transactions, files, and programs 
are available at one time. If storage is insufficient, and it generally is, 
then only a part of the transaction, file, and program can be stored 
at one time. 

The sorting operation involves separating transactions by class or 
type so that selected programs and files can be used in processing. A 



298 PROGRAMMING AND PROCESSING PROCEDURES 

class of transactions may be further sorted into sequence for processing 
against a file that is kept in the same sequence. 

Example. The example of inventory processing given earlier can 
be used to illustrate off-line data flow. Transactions — orders, receipts, 
shipments, and catalogue changes — are put in processable form and 
accumulated over a period of time. The mere fact that only inventory 
transactions are involved means that one stage of sorting — classification 
by broad type — is already done. 

The inventory transactions can be sorted for processing into the 
same sequence as the inventory file, by stock number, for instance. 
The processor needs to have the instruction routine, one or more trans- 
actions, and the corresponding file records. A convenient portion of 
the transactions and file can be processed at one time. After each part 
of the file is processed, it is put out and a new part brought in. 

The scheme used for handling files and transactions depends pri- 
marily on the nature and volume of the transactions and the length of 
each file record. Equipment storage capacity and the ability to operate 
simultaneously (read, compute, and write at the same time) also in- 
fluence the scheme. 

Storage and Run. Computer storage for off-line processing need 
only be large enough to hold the instruction routine, some transactions, 
and part of the related file. The savings in storage capacity are obvious. 
Off-line processing of one class of transactions at a time requires using 
an instruction routine for that class only. However, much of the econ- 
omy from saving storage capacity may be offset by the fact that the 
master file must be run once for each class of transaction involving that 
file. 

It was pointed out above that on-line and in-line data flow require 
that the processor have available an instruction routine for each type 
of transaction. A control program selects the particular program for 
the class of transaction involved. The master file is handled only once 
to process all transactions. 

Data-origination methods often classify transactions by type. 
Facts about orders, receipts, shipments, and catalogue changes may 
arise in different places throughout an organization. Transactions are 
classified when received at the processing unit and can be kept separate 
for processing. Each class of transaction can be sorted into sequence 
for efficient processing against the file kept in the same sequence. Data 
can originate on any medium desired because facilities are available 
for sorting data on most media. 

Off-line or batch processing involves the following operations for 
file processing: 

1. Accumulate input data by batches. 

2. Sort input data by type of transaction or sequence number, or both. 



PROCESSING PROCEDURES 299 

3. Select the appropriate instruction routine and read into storage. 

4. Read in the transaction. 

5. Read in the appropriate file, process it, and write it out. 

Make-ready operations for off-line processing involve manual 
handling and may absorb a large amount of processor time. Further- 
more, manual operations increase the possibility of mistakes. Off-line 
processing may not be the first choice among data-flow plans, but it 
is often the only feasible plan when equipment has limited capacity. 
Since computer storage requirements for program and file are reduced, 
equipment cost and operating speeds are efficiently balanced against 
each other. 

Internal storage capacity and computer speed will increase greatly 
in the future so that the present emphasis on batch flow for business- 
data processing is likely to shift toward in-line or on-line flow. 

File Processor. Off-line or batch processing of files can be further 
refined by selecting from the main file only those records that are af- 
fected by transactions. The selected records make up a smaller file or 
subset that is one hundred per cent active. Transactions can be proc- 
essed against this selected file to update the records. The updated 
active items are merged into the master file during the next processing 
cycle. 

Special equipment called a "file processor" is sometimes proposed 
for selecting active items from the main file and returning the updated 
items to the main file. The main processor need handle only the smaller 
file, without having to search through a large file of inactive items; 
this saves processing time and storage otherwise spent on inactive 
accounts. 

The use of a file processor or some other special unit with limited 
processing capacity that can select active records from the main file 
and return them to it seems to have desirable features for batch proc- 
essing. The scheme may be economical, if the use of a file processor 
does not leave the main processor idle. In actual fact, however, file 
processors are likely to be so elaborate, being designed to handle so 
many situations, that they are almost indistinguishable from the main 
computer. 

SORTING 

The obvious, immediate objective of sorting is to arrange items 
according to rules. Items are sorted on the basis of a "key," which 
is a set of characters usually forming a field to identify or locate an 
item. An inventory record might contain the following: 



300 PROGRAMMING AND PROCESSING PROCEDURES 



Part 








Number 


Description 


Size 


Quantity 


35079 


Truck Tire 


650-16 


12,327 



Inventory records are commonly sorted by part number or de- 
scription. If items are to be sorted by part number, then the key is 
5 digits — 35079. Sometimes inventory items are sorted on the basis 
of description, location, size, or quantity on hand. The point is that 
any part of a record might be used as the key. A file may be sorted 
in sequence on one key and not rearranged; this is because processing 
that would seem to require sorting on another key can be done by some 
method that does not require sorting. The other processing schemes 
might be searching, extracting, tallying, or summarizing. 

Items are generally sorted into sequences on their keys so that 
they form either an ascending or a descending string. Each key in an 
ascending string is larger than the preceding keys: 1, 2, 5, 12, 27, 28. 
Each key in a descending string is smaller: 50, 13, 5, 2, 1. 

Alphabetic sorting treats "A" as the smallest letter and "Z" as 
the largest. Assignment of machine codes to numerals and letters deter- 
mines the sorting sequence, which makes up a collation table, as il- 
lustrated in Chapter 2. 

Off-line data-flow plans involve sorting transactions by type and 
sequence to facilitate processing. It is interesting to consider why data 
are sorted. Most data-processing equipment can more efficiently handle 
one class of transactions that are in a specified sequence than it can 
handle a mixture of transactions in a jumbled sequence. 

Imagine the problem of finding your girl friend's phone number, 
if you had no idea whether it was near the beginning, middle, or end 
of the telephone book. Telephone books are in alphabetic sequence 
in order to eliminate most of the reading and searching necessary to 
find any name. If people or equipment could read fast enough, tele- 
phone books, catalogues, and other lists could be kept in any order 
and serve satisfactorily. 

The basic idea is that limited-capacity facilities work more effi- 
ciently with one problem or a small variety of problems. Arrangement 
in some order may be easier to handle than a jumbled mass. Sorting 
will continue to precede processing until equipment with much larger, 
low-cost storage capacity is used in business. Classification and 
sorting are preliminary to efficient specialization in later stages of 
processing. 

Sorting procedures commonly used in manual, punched-card, and 
electronic data-processing systems are discussed here. Some factors 
that determine efficient procedures and equipment for a particular 
situation are indicated. 



PROCESSING PROCEDURES 301 

Block Sorting 

The fundamental idea of how to sort items into sequence is quite 
simple and can be illustrated by manual sorting. Items can be sorted 
into sequence, if any progress whatever can be made by it — even as 
little as arranging two items in sequence. Such a small step must be 
repeated many times, of course, but in the end a long sequence can be 
obtained. You might refresh your memory on manual sorting methods 
by practicing with each of the methods described. You can use slips 
of paper or punched cards with two- or three-digit numbers written 
on them. Playing cards are useful, if you give the suits values of 100, 
200, and so forth. If you are already familiar with sorting methods, 
you may skip the description of manual and mechanical sorting. 

People often use a block sorting scheme. It is probably the one 
you use to sort your canceled checks each month, unless your bank 
is thoughtful enough to sort them for you or even to reconcile your 
account. You also use a rough block sorting scheme to sort your bridge 
hand by suit and value, if you are willing to run the risk of having 
your opponents appraise your hand merely by observing how you sort 
your cards. 

Block sorting starts by classifying items on the left-hand digit in 
the key. In sorting items with decimal digit keys, each of the 10 blocks 
obtained will contain keys that have the same first digit. Each of the 10 
blocks is then classified on the second digit from the left to give 10 
blocks. This second operation gives 100 blocks containing keys that 
are alike on the first two digits. Each of the 100 blocks is then sorted 
on the third digit from the left, which yields 1,000 blocks. The process 
is repeated until all digits are used. Finally, each "block" contains 
only one key. The myriad blocks are assembled to get the sorted 
sequence. 

Table 9-1 shows block sorting for two-digit keys. The thirties 
block, with keys 30-39 obtained from sorting on the left-hand digit, 
is further sorted to get the items in sequence. Nine other blocks (00-09, 
10-19, and on through 90-99) also need to be sorted a second time. 
One hundred blocks are possible, if all keys within the 00-99 range are 
used. Block sorting might be called "major-minor" sorting because it 
starts at the left-hand or major part of the key and ends up on the right- 
hand or minor part of the key. 

A serious disadvantage of the block-sorting scheme is the number 
of blocks that must be handled separately. The number of blocks is 
A, A 2 , A 3 , A 4 , and on through A n , where "A" is the number of entries 
in each position in the key and "n" is the number of positions. For 
decimal keys the number of blocks is 1, 10, 100, 1,000, and so forth. 
For alphabetic keys, the number of blocks is 26, 676, 17,576, and so 
forth. 



302 PROGRAMMING AND PROCESSING PROCEDURES 
Table 9-1. Block Sorting 



Sorting 

Input 

13 
39 
35 
11 

28 
04 
26 
32 
30 
37 
38 
60 
06 
43 
19 
75 
31 
36 
82 
46 — 



on the left digit for all items: 



Output 









39 




















35 




















32 




















30 




















37 
















13 




38 














04 


11 


28 


31 


43 












06 


19 


26 


36 


46 




60 


75 


82 




00 


10 


20 


30 


40 


50 


60 


70 


80 


90 


-09 


-19 


-29 


-39 


-49 


-59 


-69 


-79 


-89 


-99 



Sorting 
Input 

39 
35 

32 
30 
37 
38 
31 
36- 



on the second digit for the 30-39 block only: 

Output 



30 


31 


32 






35 


36 


37 


38 


39 


30 


31 


32 


33 


34 


35 


36 


37 


38 


39 



Output for the 30-39 block is 30, 31, 32, 35, 36, 37, 38, 39 

Sorting on the second digit is also required for the 00-09 through 90-99 



blocks. 

Recombining the final blocks, 
the ascending sequence. 



hich are only a single card each, gives 



PROCESSING PROCEDURES 303 

A limited amount of block sorting is useful where a large number 
of items is involved. Initial block sorting segregates a huge number of 
items into smaller blocks for sorting by other schemes. Digital sorting 
may then be used to sort each block into sequence. 

Digital Sorting 

Digital sorting starts by sorting items on the right-hand digit in 
the key and ends up working with the left-hand digit. Digital sorting 
might be called "minor-major" sorting because it starts with the minor 
part and ends with the major part of the field. The output for sorting 
digital keys is 10 classes. Each class contains items with the same right- 
hand digit, but with different left-hand digits. For two-digit keys the 
result of the first pass of digital sorting would be ten classes as fol- 
lows: 00-90, 01-91, 02-92 and so on through 09-99. The classes can be 
abbreviated as X0 through X9 where X is any digit or digits. 

The 10 classes can be combined in ascending sequence and sorted 
on the second digit from the right. When the 10 classes are stacked, the 
items are in sequence from 00 to 99 on 2 right-hand digits. The process 
can be repeated until all digits in the keys are handled and the items 
will be in sequence on all digits 00. . .0 to 99. . .9. 

A procedure to sort cards with a three-digit key into ascending 
sequence, which can be done either by hand or by machine, is: 

1. Sort on the right-hand or units digit. 

2. Stack in ascending sequence on the units digit — X0 on top of XI on 
top of X2, and so forth — and sort on the second digit from the right 
or tens digit. 

3. Stack in ascending sequence on the tens digit — OX on top of IX on top 
of 2X — and sort on third from right or hundreds digit. 

A point to remember about sorting in some machines is that ma- 
chines deal cards from the bottom of the stack. If the deck is arranged 
according to the rules given above, it is inverted before being placed 
in the feed hopper. Table 9-2 shows how cards are distributed in 10 
pockets of a card sorter after each pass by dealing from the bottom 
each time. 

Unless you are a "card sharp" you need to turn the cards over 
to handle them "fair and square" during each operation, if you want 
to sort them manually. You can use your imagination to develop the 
manual methods for the digital sorting scheme. But some practice 
with cards is likely to be more educational than your imagination. 
In general, you can (1) invert the whole deck and deal from the bottom, 
or (2) leave the deck alone and turn over each card as you handle it. 
Confusing? Try it for fun. 



304 PROGRAMMING AND PROCESSING PROCEDURES 



Table 9-2. Digital Sorting of Cards 



lnput-1 



First pass: Sort cards from Input-1 
stack on "units" digit. 



First Pass — Output 



250 














287 


338 




960 


621 


082 






585 




557 


208 


819 


630 


451 


392 


263 


124 


895 


506 


017 


688 


789 





1 


2 


3 


4 


5 


6 


7 


8 


9 



Pockets 



Second pass: Stack cards from first pass in 
ascending sequence on "units" digit to get 
Input-2 stack. 

Sort cards from Input-2 stack on "tens" digit. 



Input-2 









Second Pass — Output 
























789 




















688 














557 






287 




208 


819 


124 


338 




451 


263 




585 


895 


506 


017 


621 


630 




250 


960 




082 


392 





1 


2 


3 


4 


5 


6 


7 


8 


9 



338 
250 
960 
506 
287 
819 
621 
208 
082 
585 
451 
688 
895 
263 
557 
630 
789 
124 
017 
392 

819 
789 
338 
208 
688 
287 
557 
017 
506 
585 
895 
124 
263 
082 
392 
621 
451 
250 
960 
630 



Pockets 



PROCESSING PROCEDURES 305 



lnput-3 



Third pass: Stack cards from second pass in 
ascending sequence on "tens" digit to get 
Input-3 stack. 

Sort Input-3 stack on "hundreds" digit. 









Third Pass 


—Output 












287 




















263 






585 


688 








082 




250 


392 




557 


630 




895 




017 


124 


208 


338 


451 


506 


621 


789 


819 


960 





1 


2 


3 


4 


5 


6 


7 


8 


9 



895 
392 
789 
688 
287 
585 
082 
263 
960 
557 
451 
250 
338 
630 
124 
621 
819 
017 
208 
506 



Pockets 

Stack in ascending sequence on "hundreds" 
digit to get Stack-4. The items are now in 
order. 



Ten output pockets are useful for sorting digital keys one digit at 
a time, if a simple decimal code is used. An eleventh pocket takes re- 
jects — cards not punched in that position. Two more pockets are in- 
cluded to accept cards punched in the "11" and "12" positions (above 
the to 9 positions) so that alphabetic keys can be sorted. In short, 
most card sorters have 13 pockets for alphanumerical sorting. If a com- 
plex coding scheme such as the qui-binary, described in Chapter 2, is 
used, then fewer output pockets are needed, but more passes are 
required. 

Any number of output pockets, from 2 upward, can be used for 
sorting. Having only a few outputs requires more passes to get the 
items into sequence; more output pockets permit sorting with fewer 
passes. Sorters have been built with dozens of pockets for checks and 
even hundreds of output pockets for ordinary letter mail, because 
having more output pockets available requires fewer passes of items 
through the sorter. 



306 PROGRAMMING AND PROCESSING PROCEDURES 

Physical separation of each item is an important feature of manual 
and mechanical sorting. A slip of paper, a card, or an ordinary envelope 
used for letter mail contains the key and record. When sorted on its 
key, the record itself is also sorted. On the other hand, some records 
cannot be separated for sorting. High-density storage makes records 
so small that physical separation for sorting is not feasible. Such rec- 
ords are usually recopied during sorting. However, one approach to 
sorting data on magnetic tape is to cut the tape into 1 by 3 in. pieces 
and sort the individual pieces. In equipment using these pieces, in- 
genious vacuum techniques are used to hold the small pieces of tape 
on a revolving wheel in order to perform a "two-pocket" sort for alpha- 
numerical keys by repeated passes. 

Electronic Sorting 

Sorting records in automatic data-processing systems usually 
involves recopying from one tape to another. The essential feature 
is the comparison of two or more items to find which one should be 
placed first to build the sequence. Records on long magnetic tape 
cannot be sorted by physical rearrangement in the same way that 
paper, punched cards, or even short pieces of magnetic tape are sorted. 
Records on long magnetic tape are transferred to the data processor 
storage for sorting and writing on tape. Internal storage serves the 
same purpose as the table top in manual sorting or the output pockets 
in mechanical sorting. 

Many schemes exist for sorting records with electronic equipment 
(Friend, 1956). Three of these — comparison of pairs, merge sorting, 
and digital sorting — are discussed here. 

Comparison of Pairs. There are several ways to sort items by 
comparing their keys, which usually involves sorting on the whole key 
at one time. A quick review of manual methods for sorting by com- 
parison of pairs will make electronic sorting easier to follow. 

Items on slips of paper or cardboard might be laid out on a table 
and the smallest key selected by inspection in the following manner: 
The keys of the first two items can be compared and the smaller key 
selected. The selected item is picked up and its key compared with the 
key of the third item. If the key of the third item is smaller, the card 
is picked up and the prior item is put in its place. Comparison of the 
keys of two items at a time continues until the smallest is found and 
removed from the set. The process of two-item comparison is repeated 
to find the next smallest item in the remaining set. Completing this 
loop merely puts one item — in this case the one with the smallest key — 
at the end of the deck. The loop is repeated from the beginning to get 
the next item in sequence. As the sequence gets longer, the number 
of cards remaining to be sorted in the next loop gets smaller. 



PROCESSING PROCEDURES 307 

Table 9-3. Sorting by Comparison of Pairs 



First pass: 




Comparison 








Input 


1 


2 


3 


4 


Output 


338 


338 








338 


960 


960 


506 






506 


506 




960 


143 




143 


143 






960 


819 


819 


819 








960 


960 


Second pass: 




Comparison 








Input 


1 


2 


3 




Output 


338 


338 








338 


506 


506 


143 






143 


143 




506 


506 




506 


819 






819 




819 


960 










960 


Third pass: 




Comparison 








Input 


1 


2 






Output 


338 


143 








143 


143 


338 


338 






338 


506 




506 






506 


819 










819 


960 










960 


Fourth pass: 




Comparison 








Input 


1 








Output 


143 


143 








143 


338 


338 








338 


506 










506 


819 










819 


960 










960 



It is not necessary to lay the cards out on a table to sort them by 
the comparison scheme. The cards can be kept in one deck all the time 
by using a slightly different procedure: Compare the keys on the first 
two cards and put the larger behind the smaller, or vice versa, if de- 
sired. Next, compare the key on the second card — the larger of the 
first two — with the third. Again, put the card with the larger key be- 
hind the smaller one and continue through the whole deck. One com- 
plete pass puts the item with the largest key at the back of the deck. 
Notice that the item with the largest key is placed at the back of the 



308 PROGRAMMING AND PROCESSING PROCEDURES 

deck on the first pass. This loop, if repeated enough times — actually, 
the maximum number of passes through the data is one less than the 
number of items — will yield a sorted sequence. The number of passes 
necessary depends on the number of item positions that an item has 
to be moved, or "bubbled up," toward the small end of the sequence 
when the larger item is selected in each comparison. 

Sorting by comparison of pairs to get an ascending sequence is 
shown in Table 9-3. The first pass merely puts the item with the largest 
key at the back of the deck. The second pass puts the second or next- 
to-largest key ahead of it, and so on. 

The smallest item, which is wanted at the front, may be anywhere 
in the deck. The process is repeated until all items are in sequence 
within one deck. A total of 4 passes involving 10 comparisons of pairs — 
4 + 3 + 2 + 1 — is necessary to sort 5 items into sequence for the worst 
case when the item with the smallest key is at the other end of the se- 
quence and must be bubbled all the way through the string. The 
average "distance" for the first item to bubble up is one-half the length 
of the sequence. In this case, the smallest item comes to the top in 3 
passes because it was initially the third item from the top. Nine com- 
parisons are enough here, except for checking the sequence by one 
extra pass in which no change should occur. 

The scheme for sorting by comparison of pairs, whether (1) the 
items are laid out on a table and a new deck built, or (2) the items are 
kept in one deck, obviously involves many comparisons. To sort 100 
cards into sequence involves 99 comparisons on the first pass, 98 com- 
parisons on the second pass after one item is selected, and so forth. 
Only one comparison is needed on the last pass when 2 items remain. 
If the end of the sorting operation can be recognized immediately — 
it is reached when no item moves toward the small end of the se- 
quence — the number of passes can be cut in half in the average case. 

In general, to sort N items by comparison of pairs, N-l compari- 
sons are made on the first pass. N-2 comparisons are made on the sec- 
ond pass, and so on down to one comparison on the last or N-l pass. 
The average number of comparisons for a pass is the sum of the largest 

and smallest numbers divided by two: ~ = ~-. The greatest 

possible number of comparisons in any one case would be the average 
number,-^-, multiplied by the number of passes, N-l. The product of 

~- x (N-l) = ~ — becomes a huge number when N is large. For ex- 
ample, if N = 1000, then the maximum number of comparisons re- 
quired is ( 100 °) 2 - 1000 or 499,500. 



PROCESSING PROCEDURES 309 

Sorting by comparison may be used with automatic equipment 
when all items are kept in internal storage throughout the process. This 
is comparable to manual sorting by comparison of pairs when the items 
are kept in one deck throughout. The location of items can be ex- 
changed after each comparison, if necessary, so that only the original 
storage occupied by the items is necessary for sorting them. The item 
selected after each pass can be put into another section of storage, but 
additional storage is required in such a case. 

Sorting by comparison of pairs is limited to the number of items 
in internal storage at one time. If desired, the sorted items can be read 
out, the memory reloaded, and the sorting process repeated. The result 
is to sort into sequence the set of items that just fills the working space 
available in internal storage. Separate sets of items are not related so 
that the whole set is not in sequence. A plan is needed to merge in- 
dividual sequences together into one over-all sequence. 

Merge Sorting. Business records usually involve so many items 
that computer storage capacity is exceeded and the sequences devel- 
oped in storage must be merged into larger sequences. Most of the 
time the items must be stored externally during the sorting process. 
Furthermore, it is highly desirable or even imperative that, if some of 
the items are in correct sequence, the sequence should be exploited. 
On the other hand, digital sorting, you will recall, destroys any se- 
quence that existed in the data when first sorting on the right-hand 
digit in the key. A deck of cards, whether in correct sequence — which 
requires no sorting whatever — or in an inverted sequence — which is the 
most difficult case — is handled precisely the same by the digital sort 
scheme. Obviously, a scheme that is completely insensitive to the initial 
arrangement of the data is not efficient. Efficiency can be increased by 
taking advantage of any sequences that exist in the data. 

The merge sorting scheme takes advantage of whatever sequence 
exists in the data when the operation starts. A set of data already in 
sequence is handled only once, and the sorting operation merely 
checks the sequence. Data in the worst possible sequence — completely 
inverted order — are passed through the computer many times to merge 
into sequence. Most situations actually lie in between these extremes, 
for there is usually some order in the data. If two or more sequences 
exist in the data, each sequence should, of course, be saved and then 
merged into an over-all sequence. 

The basic feature of merge sorting is that it produces a single 
sequence of items from two or more sequences that are already ar- 
ranged by the same rules. The number of sequences is cut in half in 
each merge sorting pass until all the data are arranged in one sequence. 

The merge sorting scheme is frequently used for sorting data 
stored on magnetic tape. The mechanics of merge sorting are: read 



310 PROGRAMMING AND PROCESSING PROCEDURES 

data from two or more input tapes, arrange the data in sequence on the 
desired key, and write the data on output tapes. Longer sequences, 
which are not limited by computer storage capacity, are developed in 
each pass through the computer until all items are in one sequence. 
Merge sorting is easier to follow in detail if only two input and two 
output tapes are used, one item at a time being read from and written 
on a tape as soon as it is determined which tape it should be written on. 
The computer follows an instruction program to compare the keys of 
items received from each input tape with the key of the item just 
written on the output tape. 

The procedure for merge sorting can be stated very simply: Build 
the longest string possible at each stage on an output tape. This re- 
quires comparing the preceding item written on that tape and the two 
items that are available which may be added to the sequence. As each 
item is written on an output tape, another item is read from the input 
tape where the item just written originated. If it is not possible to con- 
tinue building the string on one output tape — because both items 
available are too small — switch to the other output tape and start a 
new string. In short, a three-way comparison is made each time be- 
tween two items in storage and the item just added to the sequence. 

Merge sorting into ascending sequence is illustrated here. For 
simplicity, only the key is shown for each item; but the remainder 
of the record is assumed to follow the key at every stage. This is not 
to say that handling the rest of the item is trivial, because consider- 
able detail is involved merely in keeping a record associated with its 
key. 

Four-tape Merge. Merge sorting with four tapes — two input 
tapes, A and B containing items, and two output tapes, C and D — 
can be illustrated for the following initial conditions: 

Tape A: 5, 2, 18, 7, 15,27 
Tape B: 20, 8, 9, 3, 21, 13 
Tape C : blank 
Tape D: blank 

The steps involved in the four-tape merge sorting shown in Figure 
9-1 can be described as follows: 

1. Read in the first key, 27 and 13 from tapes A and B. Compare 13:27 
and write the smaller, 13, on tape C. See Figure 9-1, step 1. 

2. Read in the next key, 21, from tape B. Compare with 27 already in 
storage to find the smaller. If the smaller, 21, is larger than the key, 
13, just written on tape C, then write 21 on tape C, as shown in 
Figure 9-1, step 2. 

3. Read in the next key, 3, from tape B. Compare with 27 to select the 
smaller of the two. If the smaller key, 3, is larger than the key, 21, just 



PROCESSING PROCEDURES 31 1 



written on tape C, then write 3 on tape C. Since 3 is smaller than 21, 
do not write it but compare 27 with 21 and write 27 on tape C since 
27 is larger than 21, as shown in step 3. 

Read in the next key, 15, from tape A. Compare with 3 to select the 
smaller. Since 3 and 15 are both smaller than the last number written 
on C, neither can be used to build that sequence. The smaller, 3, is 
transferred to tape D to start a new string, as shown in step 4. 

Input Output 



Step 1 



Tape A 



Tape C 



5,2, 18,7, 15,27 




13 


1 














27:13 


T 




w 




r^ 


r 1 






20,8,9,3,21, 13 




Processor 






Tape B 
Step 2 

Tape A 


r- 


Tape D 
Tape C 


5,2, 18,7, 15,27 








21, 13 


1 


fc. 


21:27 
21:13 




▲ 












i 


W 






20, 8, 9, 3, 21 




Processor 






Tape B 
Step 3 

Tape A 




Tape D 
Tape C 


5,2, 18,7, 15,27 


w 


3:27 

3:21 

27:21 




27,21, 13 


1 




f 






l 


W 






20, 8, 9, 3 




Processor 






Tape B 
Step 4 

Tape A 




Tape D 
Tape C 


5,2, 18,7, 15 


^ 


j 3:15 

3:27 

15:27 




27,21, 13 


i 






w 




1 


T 




▼ 


20, 8, 9, 3 




Processor 




3 



Tape B 



Tape D 



312 PROGRAMMING AND PROCESSING PROCEDURES 



Step 5, conclusion of first pass 
Tape A 



Tape C 



Tape B 




20, 


18,8,7, 


27,21, 


13 




string 3 
Tape 


string 
D 


1 




5,2, 


15,9, 


3 



string 4 string 2 

Step 6, conclusion of second pass showing input and output tapes 

Tape C Tape A 



20, 18,8,7,27,21, 13 



Tape D 



5,2, 15,9,3 




27,21, 15, 13,9,3 



Tape B 



20, 18,8,7,5,2 



Step 7, conclusion of third pass showing input and output tapes 

Tape A Tape C 



27,21, 15, 13,9,3 



TapeB 



20, 18,8,7,5,2 




27,21,20,18,15,13,9,8,7,5,3,2 



Processor 



Figure 9-1. Four-tape merge 

The procedure described in steps 2 and 3 is repeated to build 
the longest possible sequence on tape D. When the available keys will 
not increase the sequence, a new sequence is started on the other tape. 
The first pass is completed when all the items on tapes A and B are 
transferred to tapes C and D. The first pass gives 2 strings on each 
output tape, as shown in Figure 9-1, step 5. 

The output tapes for one pass are input tapes for the next pass. 
The second pass (notice that tapes C and D are now input) yields one 
string on each tape as shown in step 6. The third pass, with tapes A 
and B as input, arranges the items in one sequence, as shown in step 7. 

Alternate output is used to get the same number of strings (plus 
or minus one) on each tape, but it is not necessary to build each se- 
quence on the alternate tape. For a huge number of items, strings can 
be written on one tape until it is filled. The other tape is then filled. 
About the same number of sequences is built on each tape, if there are 
enough items to fill two or more tapes. 



PROCESSING PROCEDURES 313 



Three Tapes on First Pass. The merge sorting example given 
above assumes that the items are originally stored on two tapes. If 
items are on one tape, they are separated or dispersed in the first pass. 
Two items are read in and comparisons are made to build strings as 
before. The result after one pass is shown below. 



Input 
Tape A 




Output 
TapeB 


5,2,20,8,18,7,9,3,15,21,13,27 


* 




* 


20,18,8,7,27,21,13 




Processor 










^ 


Tape C 




5,2, 15,9,3 



The output of the first dispersion pass starting with one tape cor- 
responds to the result obtained in the illustration involving two tapes, 
and in this case is identical to it. After the first pass, similar procedures 
are followed for both cases. 

The merge sorting procedure described here uses only one item 
from each tape. A three-way comparison is made between these two 
items and the item just added to the sequence on one tape. In a com- 
puter with fast internal speeds in relation to input-output speeds, merge 
sorting is faster; if more items can be compared at one time, longer 
strings can be built at each stage. The ultimate, for a machine with 
fast internal operating speed, might be to put all items in storage, ar- 
range them in sequence, and sort them completely in one pass. 

Available storage may be filled with the items to be sorted, and 
later refilled as items are written out in sequence. In this way, the 
length of each string, counting both key and record, can be about twice 
as big as the available storage on the first pass. Having longer strings 
on the first pass reduces the number of passes required, but increases 
the number of comparisons. The number of items handled simulta- 
neously depends on available storage, record length, number of tape 
units, input-output speeds, and programming complexities. Input- 
output speeds become crucial when data are read in and out through 
many passes. 

Number of Passes for Two Inputs. Using more than two input 
tapes permits building sequences faster and reduces the number of 
passes required for the case where only two inputs are available. With 
"n" input tapes (and n is two or more), each pass builds longer strings 
so that the number of sequences on all the tapes is divided by n. Sorting 
is complete, of course, when only one string remains. The exact number 
of passes required depends on the arrangement of data before the sort- 
ing operation starts. 



314 PROGRAMMING AND PROCESSING PROCEDURES 

The easiest sorting problem occurs when checking the sequence 
of items already thought to be in sequence. Cards may be sorted into 
sequences and converted to tape for further processing. The first opera- 
tion may check the sequence because of the risk that some items may be 
out of sequence. Each tape starts through the merge sorting procedure, 
and if the input is in sequence, only one output string is obtained and 
the sequence is checked. If the input is out of sequence, because cards 
were not correctly sorted before conversion, two or more output strings 
are obtained from the first pass. Additional passes are then required to 
build one sequence. 

If items are randomly arranged, some items are already in order. 
The expected number of sequences is one-half the number of items, 
because the average string length is 2 items. The general rule for the 
expected number of passes, p, required to sort N randomly arranged 
items into sequence using n items from the input tapes is stated by 
the formula: 

*-? 

Comparison of two input items at a time (n = 2) makes it possible 
to sort N randomly arranged items in an expected number of passes, p, 
according to the formula, N = 2 (n p ) or 2(2 P ): 

n p N 



2 1 


4 


2 


8 


3 


16 


5 


64 


10 


2,048 


11 


4,096 


20 


2,097,152 



The number of complete passes required must be large enough to 
handle all the items involved. Fractions of a pass are not useful. For 
example, 11 passes are required to sort any number of randomly ar- 
ranged items from 2,049 to 4,096 inclusive. 

The formula N = 2(n p ) can be written to solve for p: 

For randomly arranged data the actual number of passes required 
will range between 1 and log n N. Only by chance will exactly log n (N j 
passes actually sort N randomly arranged items. \ 2 / 



PROCESSING PROCEDURES 315 

The most undesirable case, as pointed out earlier, is for the orig- 
inal data to be in the reverse of the desired order. Each item is like one 
sequence, so that the number of sequences and items is equal. The 
number of items, N, arranged in reverse sequence, that are sortable by 
p passes is one-half of those shown above. The formula is n p = N or 

P = log n N - 

More Inputs, Fewer Passes. The number of passes required in 
merge sorting can be decreased by using more inputs. Internal sorting 
of more items to build longer strings on each pass reduces the number 
of passes. If 8 inputs are handled at one time, the first pass can arrange, 
say, 65,536 items that are randomly arranged in 32,768 strings into 
one-eighth as many sequences — 4,096. The next pass results in 512 
strings. The third pass yields 64 and the fourth, 8 strings. Sorting is 
complete on the fifth pass, when one sequence is obtained. 

Where 8 inputs are used, the number of items in random sequence 
that are sortable is N = 2(nP) or2(8P). 

n p N 



1 16 

2 128 

3 1,024 

5 65,536 

10 2,147,483,648 

11 17,179,869,184 



Eight input-tape units and 2 output-tape units might be used for 
merge sorting. A tape on one output unit is first completely filled with 
sequences; output is then switched to the other output tape and a new 
tape mounted on the first unit. Output continues at machine speeds 
without any stop for changing tapes — tape changing is "overlapped" 
with machine operations. All output tapes are mounted at the same 
time for the next pass and the operation repeated with 8 inputs and 
2 outputs. 

Digital Sorting. As described above, punched-card equipment 
uses the digital or minor-major sorting scheme. Items are sorted on 
the right-hand digit and re-sorted on the next digit until they are in 
sequence. 

Records on magnetic tape can also be sorted by the digital scheme. 
One plan is to use a single input tape and 10 output tapes correspond- 
ing to the 10 outputs of a punched-card sorter. On the first pass, items 
with the right-hand digit are put on one tape, with 1 on another tape, 
and so forth. Outputs are consolidated in order from to 9 and 



316 PROGRAMMING AND PROCESSING PROCEDURES 

re-sorted on the next digit. When 10 outputs are combined, the sequence 
is xxxOO to xxx99 where "x" represents any digit from through 9. 
After three more passes, items with five-digit keys are in sequence from 
00000 to 99999. One pass is required for each digit in the key regard- 
less of the number of items, when 11 tapes are used. If the key is short 
and the number of items is large, digital sorting may be fastest. 

Digital sorting with fewer tapes is possible; but more tape passes 
will be required. With four-tape units, one can be used as input and 
3 as output. On the first pass, items with keys ending in or 5 are put 
on 2 tapes and other items are put on the third tape. Items on the third 
tape (ending in 1, 2, 3, 4, 6, 7, 8, 9) are transferred to the first tape. 
They are sorted again with keys ending in 1 and 6 placed after and 5 
on the first two tapes, and others (2, 3, 4, 7, 8, 9) on the third tape. 
Three more passes, a total of 5, put the items in sequence on the right- 
hand digit. Five more passes are required for each digit in the key. 
Obviously, a high price is paid in machine time to handle additional 
passes because of the restricted number of output tapes. 

Presorting. One "solution" to the problem of electronic sorting 
is to arrange items in sequence at an earlier stage. Although this solu- 
tion does not really solve the sorting problem, the idea of pre-sorting 
has some merit. Input data might be kept in order as they originate or, 
perhaps, be sorted before they are put on magnetic tape. Sequence 
checking might still be desirable, but it might be handled as part of 
the input editing routine. 

On-line and in-line data-flow plans also eliminate the need for 
internal sorting. 

Items on magnetic tape might conceivably be converted to 
punched cards, sorted by conventional methods, and reconverted to 
tape for further processing. This scheme involves the cost and time of 
two conversions. It also increases the possibility of mistakes during 
sorting, for punched-card sorting is less accurate than electronic sort- 
ing. Experience shows that one or more cards may be lost or a stack 
dropped or misplaced in some fashion when numerous cards are in- 
volved. Some people say it is impossible to sort a huge number of cards 
into perfect sequence because too many things go wrong in the process. 

Applications that appear to involve electronic sorting should be 
examined to determine whether sorting can be eliminated or done else- 
where. Electronic sorting is faster and more accurate than punched- 
card sorting. Higher-cost equipment may make electronic sorting more 
expensive, but new equipment and new schemes for use with existing 
equipment will reduce the costs. The procedures described above rep- 
resent the current schemes for electronic sorting. 



PROCESSING PROCEDURES 317 

Other Techniques. Other techniques for sorting may be feasible 
for some situations. To name them in passing, they are distribution, 
selection, exchange, and address-calculation schemes. 

Some data-processing systems avoid sorting by using random- 
access storage. Data in the master file are quickly available by means 
of one of several plans. The key for an item may indicate where the 
record is located in storage. A table look-up or index may be used to 
find where a record is stored to obtain it. 

Another plan for placing items in storage and later finding them 
is to use the item number itself as a locator. Some calculations may 
be performed on the number (square the identification number and 
select center digits) to get a random-like number. This approach will 
fit items with ten- or twenty-digit identification numbers into storage 
for, say, 10,000 records. Only 4 digits (0000 to 9999) are, of course, 
effective for identifying 10,000 records in storage. 

Special Equipment. Merge sorting schemes involve numerous 
comparisons. They require comparing one item from each input with 
the prior item added to the sequence in order to select the next item. 
These comparisons are made for every item on each pass. The essence 
of sorting is reading in, comparing, and writing out. The data-proc- 
essing capacity of a general-purpose computer is only partially used 
when sorting. 

Limited-purpose equipment may sort data at a lower cost than 
general-purpose equipment. The computer is also free for other tasks 
that use its capabilities. File processors have been designed that can 
merge, select, and separate items as well as sort them. Such equipment 
is similar to and only slightly more complex than sorters. 

A file processor is more versatile than a sorter and may be useful 
even though a sorter is also used. A file maintenance machine is one 
step more versatile than a file processor. In addition to processing 
files — by sorting, merging, selecting, and separating — file maintenance 
equipment makes simple changes, such as additions and subtractions, 
on items handled. Special-purpose equipment built for sorting, file 
processing, or file maintenance seems, when built, to be about as com- 
plex as general-purpose equipment so that some, but not all, users 
prefer the general equipment over the special. 

System Selection 

A system designer may want to minimize either the time or the cost 
of sorting. An efficient system depends on the equipment available, the 
sorting scheme employed, and the application involved. Important 
factors about the application are the number of items, length of rec- 
ord, and number of keys — the items may have to be sorted several times 
on different keys. Also important are the sequence of the original data, 



318 PROGRAMMING AND PROCESSING PROCEDURES 

the manner in which data are processed before and after sorting, the 
speed with which results are wanted, and other functions — editing or 
checking — that can be combined with sorting. 

Sorting data on punched cards is slower, but may be less expen- 
sive, than on magnetic tape. Electronic sorting is more nearly automatic 
than punched-card sorting. Less manual effort is involved, which 
reduces the risk of mistakes. Punched-card sorting may be preferable 
if data are already on cards and need be sorted only once. 

Sorting data one time merely to count one type of item or re- 
sorting to accumulate another item is not necessary when a computer 
is used. Several items can be counted and accumulations made in one 
pass by the computer with the data arranged in any sequence. The need 
to sort the items may be eliminated if the computer has enough proc- 
essing ability to deal with several characteristics of unarranged data. 

Merge sorting plans can be programmed to take advantage of any 
order already in the data, and partially ordered data can be sorted 
with fewer passes than completely unarranged data. Analysis of the 
data to devise a more efficient sorting program may be useful. A study 
might show that a set of items wanted in ascending order is already 
in descending order. Inverting the sequence would be faster than sort- 
ing to rearrange, if it is possible to read the input tape while moving 
backwards and write the items out in the desired sequence. 

Digital sorting, on the other hand, ignores any order in the data. 
In fact, digital sorting treats every set of items in the same way, for 
any sequence that does exist is destroyed on the first pass. Digital sort- 
ing takes the same number of passes whether items are in the desired, 
inverse, or random order. 

The number of merge sorting passes depends only on the number 
of items, regardless of the length of the key. The number of digital 
sorting passes, on the other hand, depends on the length of the key, 
so that lengthy keys increase the number of digital sorting passes. 

An efficient balance is needed between the number of tape units, 
their arrangement for input and output, programming costs, and com- 
puter operating time. Automatic programming methods can "generate" 
a sorting routine for a set of items. The program provides for com- 
puter analysis of the items so that an efficient routine tailored to the 
application is generated. Having more input units reduces the number 
of merge sorting passes but increases the number of computer com- 
parisons and other operations on each pass. Each pass takes more ma- 
chine time, but fewer passes are required. 

The above discussion touches factors that a system designer 
should consider in devising an efficient sorting system: equipment 
applications, sorting scheme, and system objectives. The point should 



PROCESSING PROCEDURES 319 

be kept in mind that a change in equipment or application may elimi- 
nate the need for sorting. Frequently, people develop electronic sorting 
routines following earlier punched-card procedures, but later find that 
sorting is not required. Increased processing capacity can handle items 
in any sequence for some purposes — especially counting and tabulating. 

FILE MAINTENANCE AND PROCESSING 

Business-data processing involves huge files of data on employees, 
material in stock, customers, production scheduling, and other items. 
These files must be maintained or updated to reflect non-arithmetical 
changes in records; this done, the files can be processed to change the 
contents of individual records by means of arithmetical operations. 

File Maintenance 

"File maintenance" can be defined as the modification of a file to 
incorporate additions, deletions, and transfers. More emphasis is 
placed on the whole record for items than on bits and pieces of a record. 
Changes in an inventory file, which occur for the following reasons, 
illustrate the transactions involved in file maintenance: 

1. Addition of new stock items to the approved list 

2. Deletion of discontinued items 

3. Transfers from one section of the file to another because items are 
reclassified or switched between warehouses 

4. Substitution of new facts for old 

If the master file is stored on tape in catalogue number sequence, 
the changes are sorted into the same sequence in order to maintain 
the file. On the other hand, preliminary sorting of file changes is not 
required, if the file is kept in random-access storage. 

File maintenance inputs, in addition to the computer program, 
are the master file, new changes, and pending changes left over from 
the prior maintenance cycle. The outputs are an updated master file, 
change lists, pending changes, and mismatches. The updated master 
file will, if everything goes according to plan, reflect addition, deletion, 
transfer of stock items, and substitution of new facts for stock items 
that are otherwise unchanged. Change lists are useful for keeping track 
of the kinds of changes made in the master file and for tracing them, if 
necessary. 

The output called "pending changes" is a peculiarity of main- 
taining files that are kept in sequence. In one pass of the file, an item 
can be transferred forward by removing it from its original location 
and inserting it in the file at a later point. The reverse is not possible 
because the desired insertion point is passed before the item to be 
moved is reached. Obviously, the whole record for the item must be 






320 PROGRAMMING AND PROCESSING PROCEDURES 

obtained in order to insert it at the desired point. In order to move 
the record for an item upstream in the master file, the record for the 
item is taken out of the file during one cycle and inserted at an earlier 
point in the next cycle. The fact that records to be moved upstream 
are extracted from the master file and kept in a pending change file 
between two cycles may require that the different types of transactions 
be handled in a certain order. Otherwise, futile attempts will be made 
to process the item while it is temporarily "out of pocket." 

Mismatches arise in file maintenance whenever the key for an item 
is incorrect. An attempt to delete, transfer, or substitute an item in 
the file will end up on an error tape or console print-out, if the input 
item key does not match the key of a file item. On the other hand, an 
incorrect key that happens to match the key of another item will result 
in erroneously changing the wrong record. For an amusing example, a 
mail order house reported extremely high sales of fur coats because 
key-punch operators introducing input data tended to transpose the 
stock number for another item and punch the number for fur coats. 
Daydreaming and wishful thinking outfoxed the computer; an in- 
ventory count and reconciliation was required to correct the record. 

Any item can be introduced into a file even though it has an er- 
roneous key. An item with a key 23451 that is erroneously punched 
as 12345 and added to the file during a file maintenance run will be 
introduced at the wrong place. The next transaction processed against 
item 23451 will be rejected as a mismatch (because the earlier item 
was introduced as 12345) and will be written out on an error tape. 

The accuracy of file maintenance operations can be controlled, to 
some extent, by keeping track of the number of records in the file. The 
initial number plus introductions minus deletions equals the final 
number of records. Transfers change the number of records in a cate- 
gory, but not in the total. Controls over the modification within indi- 
vidual records require more complicated techniques. 

The file maintenance requirements of any application affect the 
initial selection of equipment, modes of storage, arrangement of master 
file data, conversion and housekeeping programs, and the amount of 
computer time that must be devoted to non-production runs. There is a 
strong tendency for system analysts to concentrate on getting tangible 
output from production programs without giving careful consideration 
to the sorting, merging, extracting, editing, and updating programs 
that must be written and run regularly in order to make a production 
run possible. A single production run can grow into a half dozen pre- 
paratory programs and a like number of one-time file conversion and 
editing programs. 

File Processing 

"File processing" can be defined as the modification of a file to 



PROCESSING PROCEDURES 321 

incorporate changes that involve arithmetical operations. Examples 
of inventory transactions handled by file processing are: 

1. Purchase and use commitments 

2. Receipts 

3. Issues 

4. Financial accounting 

These transactions require arithmetical operations to update the 
quantity or value of a stock item available or on hand. The transactions 
are sorted into the same sequence as the master file and processed, by 
means of suitable programs, against the master files. Many kinds of 
transactions can be processed in the same run by identifying each type 
of transaction and having a program to handle that type. The type 
identifier is used to call up the required subroutine. 

The fact that file processing leaves unchanged the number of rec- 
ords in a file facilitates control over a file to guard against erroneous 
gain or loss of a record. Money amounts can be controlled by keeping 
control totals — yesterday's balance plus additions and minus deduc- 
tions equals today's balance — to prove the total of individual account 
balances. Quantities can be controlled on a unit basis by adding all 
items, even though dissimilar items are involved. 

File processing, at first, seems a simple, straightforward process. 
Many factors make processing complicated, but one of interest here is 
the fact that substitution of one stock item for another is possible in 
some cases. Assume that stock item A is preferable, but if it is not avail- 
able, then B could be the first alternate, and D the second. Similar 
patterns of choice may exist for machine assignment in a factory and 
for a selection of transportation routes. Substitution of an alternate 
color or a higher priced item for the one ordered may be made. A wag 
once said that mail order houses try to maximize substitution by send- 
ing the alternate, or wrong, item to each and every customer. Ignor- 
ing the possible intention of that remark, it is nevertheless possible 
that every order could be filled "correctly'' yet every customer get 
a substitute. 

A matrix can be developed to show how one item can be sub- 
stituted for another: 

Substitution Choice 

E F 



Item 






Wanted 


A 


BCD 


A 




1 2 


B 


1 




C 


No 


substitutes 


D 




1 


E 




1 


F 


2 





322 PROGRAMMING AND PROCESSING PROCEDURES 

The matrix means that, if A is wanted but is not available, B is 
the first choice and D is the second choice as a substitute. When proc- 
essing requests for issues, the decision rules are: (1) try to fill all orders 
with the item requested, (2) then fill any unfilled orders with first sub- 
stitutes, if possible, and (3) fill any orders still unfilled with second 
substitutes, if possible. 

In the simple case of 10 units of each item on hand and 10 units 
demanded, every order can be filled with the item wanted. The situa- 
tion is more complex if demand for some items exceeds supply. Two 
or more attempts may be made to fill orders: initially, with the item 
wanted, next, with the first substitute and, finally, with the second 
substitute. If the demand for A exceeds the supply, the remaining de- 
mand is filled with B and D, after the primary demands for those items 
are filled, and so on. 

Another rule for filling orders might be to fill all the orders for A — 
use A and substitutes B and D, if necessary — then fill orders for B, C, 
D, and so on. Obviously, the outcome of this scheme depends on 
whether the order-filling procedure starts with orders for item A and 
works through to F, or vice versa. More intricate rules might be devel- 
oped to keep the number of cases of substitution at a minimum or to 
maximize the quantity ordered that is filled by the item wanted or its 
first substitute. 

Two important points are involved in applying rules to substitute 
one item for another, if the supply of some items is short. The points 
are (1) that the allocation cannot be made until a trial run is made in- 
volving all orders, and (2) some rules are needed to decide how to al- 
locate items in short supply. The allocation rules, once formulated, can 
be applied as part of the data-processing routine. 

File maintenance and file processing have enough in common that 
they might be handled in the same computer run. Joint treatment may 
cause some difficulties because control over each kind of operation be- 
comes more difficult. For example, a bank found that checking-account 
transactions, which were processed in the same run as file changes, 
often resulted in opening new accounts because of mistakes in account 
numbers. File maintenance procedures, you will recall, handle inser- 
tion of new accounts; and an erroneous transaction account number 
may either open up a new account or post the transaction to another 
depositor's account. Erroneously opening a new account causes some 
difficulty; but posting to the wrong account is at least twice as bad, 
for it affects two depositors who may be annoyed by the mistake. One 
remedy is to handle file maintenance and processing in two separate 
runs so that tighter control can be kept over the opening and closing 
of accounts. 



PROCESSING PROCEDURES 323 

Maintaining and processing files kept on magnetic tape usually 
requires rewriting the whole tape each time any part of the file is 
changed. If only a small percentage of the records in the file change 
when files are processed on a short cycle, there are several ways to cut 
down the work of recopying the whole file just to update the small 
fraction of active records. One way is to update a fraction — one-fifth 
or one-twentieth — of the master file each day so that the whole file is 
updated once in a week or a month. The whole file is never really cur- 
rent but, on the other hand, it is almost current, for it averages only 
2 days old, if one-fifth is updated each day. On any day one-fifth is 
current or zero days old, and the other fractions are 1, 2, 3, and 4 busi- 
ness days old, respectively. 

A second way to keep files current without rewriting the tape com- 
pletely is to retain the master tape intact and accumulate the changes 
on a change tape. Modifications to the master file are accumulated on 
the change tape until it becomes unwieldy. Finally, the change tape is 
processed against the master file to update it, the change tape is dis- 
carded, and the cycle started afresh. At any time, both the master tape 
and the change tape must be considered together to get the current 
status of a record. 

There is a third approach to the problem of reducing the waste 
of rewriting whole tapes just to change a few records. Some computers 
provide for writing the revised record in the space occupied by the 
original and leaving the other records unchanged. Precautions are 
necessary, of course, to keep the new record within the space occupied 
by the old. 

After setting up, maintaining, and processing a file the question 
arises: "How long should I keep the file and transactions before I dis- 
card them?" A commonly used plan is to keep 3 "generations" of files. 
For example, Monday's output is retained until Wednesday's output is 
successfully used as input on Thursday. Then Monday's files can be 
discarded leaving the files for Tuesday and Wednesday for back-up, 
in case Thursday's output is defective. Certain files — those for the end 
of each month, for example — may be retained longer to prepare reports 
and answer unexpected questions. The ability to reconstruct all records 
from a specified date to the present may be wanted as protection 
against mishap. If so, copies of the master file for that date and all 
interim transactions must be kept. 

The general rule for deciding when to discard output files, and 
even raw data, is easy to state: discard the file when the cost of keeping 
it exceeds the probable value of having the data on hand. Application 
of the rule is difficult because it is difficult to forecast when and what 
demands will be made on the files that are saved. 

Magnetic-tape files pose problems similar to those of retaining 



324 PROGRAMMING AND PROCESSING PROCEDURES 

paper records; but some problems are accentuated. The tendency to 
save data and processed results is stronger for magnetic tape than for 
other media because of high data density and economical processing. 
Furthermore, the possibility of selectively rewriting tape files to elimi- 
nate some of the detail, while keeping the more consequential facts, 
is a plus factor in retaining tape files. Selective condensation may be 
done one or more times before the files are discarded and the tape re- 
used. Economic analysis alone would cause one to predict that a higher 
fraction of data in magnetic-tape files will be saved than is the case 
for paper and card records. This is true even though tape is re-usable. 
As the cost of an item decreases, the quantity used is likely to increase. 
For example, the Bureau of the Census reports that many thousands 
of magnetic tapes full of data are being stored for statisticians and 
others who may want to process them at some future date to answer 
questions that are not yet formulated. Of course, if all future ques- 
tions likely to be asked about data in the files could be formulated 
now, the questions could be answered and the files discarded. 

PROCEDURES FOR INTEGRATED DATA PROCESSING 

Integrated data processing attempts to improve the flow of data 
throughout an organization. A brief discussion of the factors that have 
caused fragmentary data handling will help put the problem into per- 
spective. More extensive discussions of integrated data processing are 
given by Boardman, 1956; Establishing an Integrated Data-Processing 
System, 1956; and van Gorder, 1954. 

Fragmentary Data Handling 

Most business organizations are divided into functional depart- 
ments — as sales, production, accounting, finance, and marketing. De- 
partment activities are inter-related, but each is primarily concerned 
with one function so that no one below the executive vice president 
has an over-all view of operations. Limited system capacity also con- 
tributes to fragmentary data processing. Some limits of people and ma- 
chines in processing systems are: 

1. The number of instructions usable by a processor 

2. Speed of a processor 

3. Efficient file size, organization, and use 

Documents and reports that may vary only slightly in content 
and timing are often wanted in each department, but these small dif- 
ferences require the preparation of entirely new copies to make slight 
changes. The documents involved in purchasing a stock item illustrate 
the degree of repetition that occurs with only minor variations. 



PROCESSING PROCEDURES 325 

1. A purchase request is sent to the purchasing department by the in- 
ventory control group. 

2. Quotations are requested from several suppliers by the purchasing 
department. 

3. An order is placed with a selected supplier by the purchasing depart- 
ment. 

4. The type and number of items actually received is reported by the 
receiving department. 

Some data — the part number, quantity, date wanted, and delivery 
point — are eopied on all forms. Identical data are typed and handled 
many times and each department involved keeps records and personnel 
to maintain them. Fragmentary data processing is expensive because of 
the inefficiency that stems from repetitive operations and file duplication. 

Mechanized Duplication 

An obvious way to increase the efficiency of fragmentary data 
processing is to mechanize the operations duplicated at each stage. The 
concept of mechanizing repetitive operations is one element of "inte- 
grated data processing," which is a scheme for mechanically repeating 
data at each stage of document processing. 

Integrated processing minimizes the disturbance of regular office 
routines. Standard office machines — typewriter, calculator, and posting 
machine — are used, but are modified to produce and to operate from 
some low-speed medium. Five-channel paper tape was first used as the 
common language medium, for it can be sent over wire circuits. Rapid 
communication is important in order to achieve integrated processing 
for a geographically scattered organization. 

Many office machines operate with five-channel tape; but some 
operate with six-, seven-, or eight-channel paper tape. New develop- 
ments in wire communication systems handle these. Punched cards 
can be punched in regular fashion and also edge punched or end 
punched with paper-tape codes. If interference between the two styles 
of punching is avoided, the cards can, of course, be processed with 
punched-card equipment. Office equipment that handles punched 
paper tape requires some modification to operate with edge-punched 
cards. 

Either punched cards or punched paper tape can be sent directly 
over wire circuits; the use of wire circuits, however, may cost more 
than faster transmission is worth. Some organizations mail punched 
tape overnight to save money and yet suffer little delay in processing. 
Others convert punched cards to tape for mailing to avoid the cost of 
mailing the cards or of sending either the cards or tape by wire. 



326 PROGRAMMING AND PROCESSING PROCEDURES 

Basic Rules. The basic procedural rules for integrated data 
processing are: 

1. Record the data initially on office machines that produce tape or cards 
as a by-product. 

2. Process the original data and any additional data on office machines 
that read and produce punched tape or cards. 

Example. Common language data-processing integration can be 
illustrated by reference to the example of a stock purchase given 
earlier under the topic of fragmentary data handling. "Common lan- 
guage" means that all the devices involved — typewriters, calculators, 
transmitters, and others — operate with the same code. The inventory 
control department initiates a purchase request when available stock 
falls below the re-order point. The request is prepared on a tape-reading 
and tape-punching typewriter. A paper-tape strip punched with fixed 
data — number, name, and re-order quantity — was prepared earlier and 
attached to each stock record card. This strip is obtained from the 
stock record card and inserted in the tape reader of the typewriter. 

The typewriter copies fixed data from the tape for the item 
wanted. Variable data — date wanted and request number — are entered 
on the manual keyboard. Constants, such as the date of the request, 
might be automatically entered by the machine. Thus, the typewriter 
produces both a page copy of the request and a punched tape con- 
taining either all data or selected parts. The inventory control depart- 
ment keeps a copy of the request and the tape, and sends copies of the 
request and tape to the purchasing department. The typed copy and 
punched tape are used in conjunction with files of fixed-data tapes 
for preparing new documents and tape with minimum manual typing. 
Copies of documents and new tapes are sent to the next user or filed, 
whichever is appropriate. 

The purchasing department uses a tape reading-punching type- 
writer to prepare the quotation requests. The tape received from the 
inventory control group is put in the tape reader to type a bid request. 
A clerk uses a punched tape from the file or manually enters a bidder's 
name and address. The typewriter prepares a typed copy and a new 
tape with the item, quantity, date wanted, and bidder's name and ad- 
dress for each request. 

The purchasing department mails the original copy of the request 
to a bidder and files a copy and the new tape. A purchase order is typed 
from one bid request tape and sent to a selected bidder. A copy of each 
purchase order and tape is sent to the receiving department; at this 
point, bid request tapes are no longer useful and can be destroyed. 
The receiving department uses the tape from the purchasing depart- 
ment to type a receiving report for single shipments. Clerks enter date 



PROCESSING PROCEDURES 327 

and quantity for partial shipment and make reports and tapes to use 
when the remainder of a shipment is received. 

The integrated data-processing scheme for stock control can be 
used where the inventory control, purchasing, and receiving depart- 
ments are geographically separated, because punched paper tape can 
be mailed or transmitted over wire circuits. The example of stock con- 
trol and supply shows the basic idea of common language between 
different equipment; but it omits the details. The fundamental point 
is that manual operations are reduced when duplication of repetitive 
data is mechanized. Operations are similar to those in a manual system 
except that they are tied together by five-channel tape or a similar 
medium. A limited amount of planning and personnel training is re- 
quired to set up an integrated system. 

An integrated data-processing system has a higher capital cost 
than a manual system. The ratio of capital investment to labor costs 
is increased and clerical costs are reduced. Data are both more accurate 
and more timely, as the manual element in processing is reduced. 

Functional Integration 

Functional integration goes much further than mechanized dupli- 
cation because it cuts across departmental boundaries in order to con- 
solidate data processing as such. A data-processing department may be 
set up to use large-scale equipment and specialized personnel. Systems 
built around large-scale equipment are not limited in the same way 
that manual or integrated systems built around punched-tape office 
equipment are limited. Large-scale equipment can be programmed to 
follow long and complex instructions for processing against huge files. 
Files that were previously kept separate for people to use can be con- 
solidated into a few files for efficient processing. 

Inventory files showing financial value and quantity illustrate the 
point of separate and consolidated files. These files are kept separate 
in a manual system because two groups of clerks — those in accounting 
and production control — maintain them. Each group wants sole control 
over records for convenience and to avoid mistakes. Automatic process- 
ing equipment can process dollar values and quantity transactions 
against both files. Transactions and files are so closely related that 
one consolidated file for joint processing of both transactions may be 
most efficient. 

Fundamental changes in the organizational structure may be re- 
quired for functional integration. Departments may be merged and 
far-reaching procedural changes made. Large-scale equipment involv- 
ing a large outlay is at the heart of a functionally integrated system; 
therefore, the ratio of capital to labor is much higher than in a manual 
or a common language system. Personnel orientation and training for 



328 PROGRAMMING AND PROCESSING PROCEDURES 

new equipment and procedures poses many challenges, for intensive 
planning is required to develop and install a system that integrates 
functions. Functionally integrated systems save the costs of keeping 
several sets of processing facilities. Duplicative records are eliminated, 
clerical tasks are reduced, and office space is freed. Consolidated files 
permit more efficient processing because transactions can be entered 
in one pass of the central file, whereas separate files would require 
individual processing. If you let your imagination range a bit, you 
will probably conclude that sufficiently comprehensive integration 
could cut processing loads in half since there are two parties to any 
bargain and they look at it from opposite viewpoints. A sale by one 
is a purchase by the other; a transfer of cash is alternately a receipt 
and a payment. 

Common Language and Functional Integration 

Common language integration mechanizes the processing of re- 
petitive data. Manual operations are reduced, but everything else 
remains unchanged. On the other hand, functional integration involves 
large-scale equipment, consolidated files, and some organizational re- 
alignment. The emphasis is on eliminating repetition instead of merely 
streamlining it. 

Common language integration may be useful, if opportunities for 
functional integration are limited. Some aspects, such as mechaniza- 
tion at the point of origin, are compatible with automatic data proc- 
essing. Tying several functional areas together with common language 
media is no panacea; it is not efficient for all situations. 

Large scale equipment facilitates merging several functional areas. 
A common language system may not be an efficient intermediate step 
between manual and automatic systems. There are drawbacks to an 
interim system, even though equipment and procedural change costs 
are modest. Management may postpone further changes until costs 
of the interim system are recovered, and frequent changes disturb 
the whole organization and may be resisted by many people. It must 
be said that both common language and functional integration deserve 
consideration when an automatic data-processing system is being 
developed. 

SUMMARY 

Processing procedures depend on what information is wanted and 
what data are available. Other factors are the techniques available, 
the relative advantages of fragmentary or consolidated processing, and 
time limitations. The points where data originate and their form affect 
the design of efficient processing procedures. A jumble of transactions 



PROCESSING PROCEDURES 329 

requires different schemes for processing than transactions classified 
by type. 

A time lag exists between the development and widespread use of 
the newest techniques. Some aspects of techniques that are considered 
are the degree of automation of equipment, and the methods of or- 
ganizing and keeping files. Equipment must be large enough to deal 
with an application, although the problem may be partitioned and 
handled in parts. Specialization arising in this fashion is commonplace. 

All files for an organization might be consolidated into one master 
file; but minimized file duplication, in itself, raises new processing 
problems because storage requirements are huge and programs ex- 
tremely complex. Fragmentary processing is a piecemeal approach to 
the data-processing needs of business. It is useful, if business opera- 
tions are so independent that there is no reason to combine them. 

Input methods depend on where the data originate and where the 
results go. The form, accuracy, and load of data originating within the 
organization are more controllable than for data that originate outside. 
Input methods may make use of low or high ratios of capital to labor. 
Accurate input data are obtained either by repeating manual opera- 
tions or by using more equipment. The ultimate is completely auto- 
matic input that does not rely on people. 

Requirements for equipment capacity — measured in terms of 
input facilities and processor storage — and processing programs differ 
with each data-flow plan. The off-line data-flow plan is widely used. 
On-line flow is used for selected business applications that require 
quick answers to simple questions, such as how many widgets are in 
stock at each location. Another question, similar to the one regarding 
inventory, that is answered by on-line systems is whether airplane 
seats are available on certain flights between two cities on a particular 
date. 

Data in large files are sorted into an organized sequence because 
reading or searching through the file to find a desired item is too slow. 
Facilities with limited capacity work better with one problem or a 
small variety of problems. Further arrangement of transactions into 
file sequence is required, if file reference is slow. 

Sorting arranges items into sequence on the basis of their keys. 
A key is a field of characters used to identify or locate an item. An item 
may have several keys to identify various features — part number, size, 
location, and so forth. Items may be sorted on one individual key or on 
two or more keys — one major and one minor. Classification by type of a 
file item or transaction — as a payroll or stock record and the collec- 
tion or payment of money — are simple examples of sorting. Arranging 
items in sequence — ascending or descending — is more complex. The 



330 PROGRAMMING AND PROCESSING PROCEDURES 

relationship of each key to every other key must be considered in sort- 
ing. Commonly used schemes are block, digital, comparison, and merge 
sorting. People seem to prefer a block-sorting scheme and will balk 
if forced to use the comparison-of-pairs scheme. Punched-card equip- 
ment uses a digital plan, whereas electronic equipment is often pro- 
grammed to follow the comparison and merge sorting schemes. 

Merge sorting with a computer takes items from strings held in 
external storage, compares them in internal storage, and puts them 
out in longer strings. The process is repeated in succeeding passes until 
one continuous string is developed. The number of passes required is 
related to the number of items sorted, regardless of the length of the 
key. Merge sorting often uses two-tape input and two-tape output. 
Sequences are built up in fewer passes by using more input tapes and 
some applications use as many as eight input tapes. Special equip- 
ment — sorters, file processors, and file maintenance machines — are 
considered useful, if the load on the main processor is heavy and vol- 
ume of special type of work is high. 

The selection of equipment and sorting scheme depends partly on 
whether the objective is to minimize the cost of sorting or the time 
required. Important factors in system selection are the number of items, 
length of key, length of record, sequence of original data, processing 
required before and after sorting, available time, and other functions 
that can be combined with sorting. Sorting with electronic equipment 
is faster and more accurate than punched-card sorting; but it may be 
more expensive unless the equipment, sorting scheme, and application 
are closely attuned. 

File maintenance covers updating of files not involving arith- 
metical operations, whereas file processing covers arithmetical opera- 
tions. Though similar in many respects, these two operations may be 
kept separate to avoid mistakes from handling both at one time. The 
use of tape files raises new problems because most computers can up- 
date records only by rewriting the whole file. Reduced costs of storing 
data on magnetic tapes and ease of subsequent processing increase 
the tendency to keep more data for a longer time than is practical 
with card or paper records. Partial processing — to allocate stock and 
make substitutions, for example — is sometimes necessary in order to 
make operating decisions. 

Fragmentary processing of data exists because business is or- 
ganized by functions and machines have limited capacities. Some limi- 
tations of people and machines are storage capacity, number of 
instructions that can be used, processing speed, efficient file size, and 
input-output units. Fragmentary processing is expensive because of 
the file duplication involved. Management information is obtained in 
bits and pieces from scattered files and unrelated processing. 



PROCESSING PROCEDURES 331 

Integrated data processing mechanizes the duplication of repeti- 
tive data. A common language medium, such as punched paper tape, is 
produced on modified office equipment and thereafter used to operate 
other similar equipment. Repetitive operations are mechanized; but 
this approach to integration deals with symptoms instead of with the 
causes of fragmentary processing. 

Functional integration cuts across departmental lines in order to 
consolidate data processing as such. Fundamental changes in the organi- 
zational pattern may be required for functional integration. Depart- 
ments may be merged and far-reaching procedural changes made. 
Functionally integrated systems can reduce the cost of equipment, 
files, and clerical work. Equipment with a large capacity is a prerequi- 
site to functional integration. 



REFERENCES AND SUPPLEMENTAL READINGS 

Boardman, Lansdale. "What It Means to Integrate Data Processing," N.A. 
C.A. Bulletin, vol. 37: 1191-1198 (June 1956). This article distinguishes 
integrated data processing as a concept and method from the equipment 
through which it may be applied. The several data-processing sequences 
most adaptable to integration are identified, and the steps involved in 
evaluating a company's needs are listed. An example not involving elec- 
tronic equipment is described. 

Establishing an Integrated Data-Processing System: Blueprint for a Company 
(Special Report No. 11), New York, American Management Association, 
1956, 183 pp. This report was adapted from material originally prepared by 
Ralph H. Eidem and others for an A.M. A. orientation seminar with the 
same title held in 1956. The five sections cover the preliminaries, tailoring 
the program, the installation process, IDP and the worker, and the long 
view. Three case studies describe the experience of companies in planning 
for and using integrated data processing. 

Friend, E. H. "Sorting on Electronic Computer Systems," Journal of the 
Association for Computing Machinery, vol. 3: 139-68 (July 1956). Sorting is 
a basic operation in most business and scientific data-processing proce- 
dures. Since larger volumes of data are handled with electronic data proc- 
essing, it is important to use the optimum sorting technique. The form and 
arrangement of the input data determines the best method or combination 
of methods that should be utilized. The seven techniques of high-speed 
internal sorting discussed, compared, and evaluated in detail are internal 
merging, inserting, exchanging, internal digital sorting, counting, selecting, 
and radix sorting. 



332 PROGRAMMING AND PROCESSING PROCEDURES 

van Gorder, H. F., and others. A New Approach to Office Mechanization: 
Integrated Data Processing Through Common Language Machines, New 
York, American Management Association, 1954, 62 pp. Describes a concept 
of integrated data processing by making all office machines operate from a 
five-channel punched tape, and tells the way in which U. S. Steel originally 
developed the idea and put it into practice. The fundamentals of the idea, 
origination of data, calculation and distribution of data, conversion and 
high-speed processing, and communication of data are covered in detail. 

Wiseman, R. T. "Life Insurance Premium Billing and Combined Operations 
by Electronic Equipment," Journal of the Association for Computing Ma- 
chinery, vol. 1: 7-12 (January 1954). Mechanical processing of insurance 
company data has been a fractured operation with many files due to the 
relatively low cost of filing as compared to computation, the limited data 
capacity, and the limited processing ability of the equipment. Electronics 
has altered these conditions and led to a "combined operations" approach 
with one large policy record and longer mathematical processes. The con- 
solidated record on magnetic tape can be stored in 1 per cent of the space 
used previously. The system devised by Sun Life Assurance Company of 
Canada has been tested successfully on a Univac. The combined operations 
result in greater accuracy and will allow many of the inventory jobs now 
causing a peak year-end load to be spread out over the year. Installation 
of a computer makes necessary a major, and perhaps painful, reorganization 
of supervisory responsibilities. The staff reduction, which is one of the jus- 
tifications for buying an expensive machine, can be handled by a reduced 
hiring rate without resorting to layoffs. A supplement compares existing 
and proposed formulas for reserve and dividend determinations. 



! 
I 

PART FOUR 



PRINCIPLES OF 

PROCESSING 

SYSTEMS 



CHAPTER TEN 



DATA AND 
INFORMATION: 
COST AND VALUE 



Few general principles or even rules exist to serve as guides for 
designing data-processing systems. This lack of general principles, 
which stems from several causes, will be examined briefly. Most of 
this chapter deals with factors that should be considered in searching 
for fundamental ideas about business data-processing systems. An ex- 
ample shows the formulation of some of the concepts into analytic 
expressions that describe a simple business situation. 

The first reason for lack of general principles is that operating 
systems are difficult to describe in simple terms. This is true whether 
the system uses manual, punched card, or electronic methods. Analysis 
is expensive and time consuming. Systems do not remain in a "steady 
state" but continue to change even during analysis. In fact, the rate 
of change may outrun the analysts who must keep abreast of the old 
system while designing a new one. 

Second, the operating environment and the problems to be 
handled differ from one case to the next. People, data inputs, and re- 
ports wanted from the system are all different even though equipment 
and operations are similar. Such differences limit the value of com- 
paring data-processing operations in two different environments. Com- 
parison of the proposed system with a system that does not change or 
with an extrapolation of the present system may be valuable for draw- 
ing valid conclusions about the effect of new proposals. Laboratory 
models or controlled experiments are valuable for showing the effect 
of certain changes. But it is difficult to use a business as a laboratory 
for testing new ideas about data processing because of the unsettling 
effect of experimentation and the risk that untested initial operations 
may fail. 

A third reason for the lack of any general rules pertaining to the 
use of electronic equipment is the fact that its use is still quite new. 
Experience now available covers only a short period of time and not a 

334 



DATA AND INFORMATION: COST AND VALUE 335 

complete cycle from installation to introduction of still newer equip- 
ment. Imagine the problem of an insurance actuary if he were asked to 
predict average life expectancy on the basis of the life histories of a 
few children. Important changes in both equipment and the systems 
built around the equipment occur frequently, and they will continue to 
occur indefinitely. 

Fourth, data-processing systems are complex. The equipment is 
a maze of electronic, electric, and mechanical parts. The system built 
around the equipment in order to handle the origination of data and 
distribution of results reaches throughout all parts of a business or- 
ganization. 

These four factors — difficulties of description, lack of laboratory 
conditions, newness of electronic equipment, and complexity of equip- 
ment and systems — impede the development of exact rules for system 
design and operation. 

A formula would be useful for determining system and equipment 
needs and ways of using them. Such a formula may be developed, but 
one does not exist now. Lacking a formula, one approach to solving 
the problem is to search for some of the basic ideas involved. An under- 
standing of the concepts or general principles is useful in any field 
(Hitch, 1955). It is doubly important in a new and developing field 
such as automatic data processing. General principles must be de- 
veloped before useful, specific rules can be devised. A search for gen- 
eral principles reveals new facets of a subject, puts various features 
into perspective, and discloses new relationships. 

This chapter marks out areas that deserve analysis and suggests 
avenues leading toward general principles about data-processing sys- 
tems. The two broad areas considered here are (1) the distinction be- 
tween data and information and (2) the cost of processing data and the 
value of the information obtained. 

CONCEPTS 

Some attention must be given to a critical but neglected feature 
of data-processing systems. A distinction needs to be drawn between 
the words "data" and "information," which are often used inter- 
changeably. 

Data 

"Data" can be defined as any facts that are a matter of direct 
observation. As used in business-data processing, "data" means col- 
lections of signs or characters generally arranged in some orderly way 
to make up facts and figures. Numbers, words, charts, tables, and re- 
ports are examples of data which represent the syntactic level of an 



336 PRINCIPLES OF PROCESSING SYSTEMS 

information system — the patterns of formation of messages from words 
in a particular language. 

Data-processing systems are designed to handle data that describe 
various situations and to produce information, the latter point being 
developed below. Viewed in this sense, data are essentially the input 
or raw materials for a system designed to process data and produce 
some desired output. In order to be useful in subsequent stages of proc- 
essing, data must be new, accurate, and timely. The output obtained 
from processing data can, of course, exceed in both quantity and quality 
the original input. For a simple example, given the quantity of an in- 
ventory item on hand and the rate of usage, reports can show these 
two facts and the projected quantity on hand at any date in the future, 
including run out. 

Information 

"Information" is the significance derived from the data, which 
are vehicles for conveying certain potentially meaningful facts. The 
meaning of "information" is at the semantic level — the relationship 
between a sign and the actual object or condition represented by the 
sign. For our purposes, we further give to "information" a significance 
at the pragmatic level — the impact of the objects or conditions on the 
receiver. In this case, the impact is in terms of (1) the degree to which 
the receiver knows or has already guessed, based on his knowledge 
about the situation, the picture presented, and (2) the degree to which 
he can correctly utilize the picture presented. (The information the- 
orist's view of information is given by Rosenstein, 1955. ) 

The recipient of a message — a report or document, for example — 
receives information if he understands the relationship between the 
symbols and actual conditions (semantic level) without already know- 
ing or guessing the content of the message, and can act on the basis of 
the message (pragmatic level). "Information" implies understand- 
ability, relevance, ability to act, novelty, timeliness, and accuracy. Dis- 
cussion and some examples will give meaning to these ideas. 

In order for information to be useful, the reader must correctly 
understand the meaning of the facts and have some use for what he 
learns. Otherwise he gets misinformation or no information that he can 
use even though correct information is available. 

Excessive quantities of information are available. Care is needed 
to keep it focused on a manager's needs and restricted to his ability 
to use it. Business-data systems, instead of emphasizing production 
of all information, should focus on producing information relevant to 
and useful in decision making. A manager should be able to use the 
information in making his decisions, which are usually restricted to 
a limited area of an organization. There are usually more decisions 



DATA AND INFORMATION: COST AND VALUE 337 

to be made than a manager can make, and he does not have complete 
freedom to make any decision he wishes. The point is that information 
must be related to areas that the manager controls, in which he has 
freedom or "elbow room" to take action. Furthermore, he needs in- 
formation on any problem while his decisions can still affect its solution. 

A report that merely confirms what a person already knows does 
not provide him with new information, although it may reinforce his 
knowledge. Newness or novelty is basic to the definition of information 
content. Novelty depends on the reader's knowledge about the situa- 
tion described; the more he knows, the less information a report con- 
tains for him, although it may contain information for someone else. 

Status or condition information pertains to a point in time — the 
number of widgets in stock on June 30, for instance. Operating or dy- 
namic information, on the other hand, covers a period of time — the 
number of widgets used during the month or quarter ending June 30. 
The timeliness necessary for status and operating information depends 
upon the use made of it. For learning what did happen during the 
period ending June 30, a report by July 25 would be suitable for some 
purposes, whereas reports by July 5 would be necessary for other pur- 
poses. In order to plan operations and manage them before the event so 
that desired results can be achieved, forecasts of what will happen 
are necessary. Thus, after-the-fact reports are suitable in some cases, 
but other cases require before-the-fact forecasts in order for the in- 
formation to be timely. 

The degree of accuracy required for information to be useful may 
vary from being highly precise to being only a rough approximation of 
the facts. A person expects a bank to keep his account to the precise 
penny although he may have trouble keeping track of the simple fact of 
whether the balance is overdrawn. Accurate results can be obtained, 
in many cases, by devoting enough skill and effort to record keeping, 
although the cost of the desired degree of accuracy may outrun the 
value obtained from having it, as pointed out later in this chapter. 
On the other hand, forecasts, which are more often the basis for oper- 
ating decisions than are cold, hard facts, are likely to be accurate only 
within fairly broad limits. For its intended use, each degree of accuracy 
is suitable, everything considered. 

Within a data-processing system, most verification procedures are 
aimed at detecting syntactical mistakes, such as incorrect numerals 
or letters. For input data, syntactical mistakes are important; but se- 
mantic mistakes probably occur just as often because the characters of 
the input message do not truly represent the object of the situation in 
question. A processing system may include procedures to detect some 
semantic mistakes — a weekly time card showing 99 hours worked can 
be rejected as semantically incorrect even though it represents an 



338 PRINCIPLES OF PROCESSING SYSTEMS 

accurate transcription of legitimate characters. Pragmatic mistakes — a 
wrong decision given the right picture — can occur at the point of infor- 
mation use. A pragmatic mistake arises because the decision rule is in- 
correct; the rule, for example, might be to decrease production as the 
stock is depleted. Then too, the correct rule could be incorrectly 
applied. Correction of pragmatic mistakes may be made through a 
second look or a review (perhaps by calculating the results of a pro- 
posed decision) before implementing the decision. 

Improvements in processing data may not, contrary to general 
belief, always improve the information system. In fact, the two ob- 
jectives may be in conflict. Modern equipment prepares reports so 
cheaply that a manager may be literally buried under a mountain of 
paper. He may react by spending his time searching for information or 
by merely throwing away reports without glancing at them. Desks and 
files may become temporary wastebaskets until reports are discarded. 
In such a case the system may process data, but it does not provide 
useful information in an efficient fashion. 

DATA AND INFORMATION SYSTEMS 

The data-processing unit is an element of a much larger system, 
namely the "management information system." The main purpose of a 
data-processing unit is to provide information, not merely to marshal 
facts. Data serve as the carriers for relaying information to manage- 
ment. Managers obtain information from many sources other than the 
data-processing unit: they look at operations, talk with people, and 
observe conditions. 

Sources of Information 

A manager has many ways to learn how many widgets are in stock. 
He may read an available report, telephone the head widget-keeper, or 
just guess. If he arrives at the right number of widgets in stock, within 
a margin of error suitable for the problem under consideration, an ad- 
ditional report contains little information for him. A complete study 
of a management information system should consider all methods of 
originating and communicating data. 

The design of any information system is influenced by the system 
already in use within the organization. The system changes because 
new equipment or concepts become available or because new require- 
ments arise. The mere fact that automatic equipment is being intro- 
duced warrants some fundamental changes in procedures. Some 
changes will be really new, while others will be old ideas that could 
not be put into effect with the equipment then in use. Flexible, high- 
speed equipment allows both new and old ideas to be exploited more 
effectively. 



DATA AND INFORMATION: COST AND VALUE 



339 



Selection of Information From Data 

An important feature of system design is how to select informa- 
tion useful for decision making from all the facts that are available. 
The problem is not new and is present in all systems. One approach 
is to appraise each situation individually. People may develop rules 
to select information from the facts and apply them to a number of 
situations. But the introduction of automatic processing equipment 
warrants, for two reasons, more attention to the problem of efficient 
selection of information. 

First, output reports will increase in both volume and number as 
data processing and high-speed printing become cheaper. Second, 
versatile instruction programs for automatic processors can relieve 
management of some of the task of selecting information from data. 

An initial step in making a decision is to obtain information that 
bears on the problem. Automatic selection of relevant and consequen- 
tial information permits management to concentrate on decision 
making without worrying about the mechanics of data gathering and 
report preparation. A simple way to prepare reports is to develop a 
list of related items that should be included in the reports prepared 
each and every period. All items are included in every report without 
regard to their information content. The procedure is simply to collect 
data, process them, and print reports. Managers study the reports to 
find significant facts for decision making. 

Figure 10-1 is a block diagram of an elementary system for pro- 
ducing reports for management. The processing unit produces reports. 
Management's function is to analyze reports, select information, and 
make decisions. 



Data Processing 



><+ 



Management 



INPUT 
EQUIPMENT 



DATA 
PROCESSOR 



REPORTS 



Operation 
to be 
Controlled 



Re-appraise 
Decision 



Input 
Data 




Out- 
put 
Data 



Select 
Infor- 
mation 



Make 
Decision 



1 



Review 
Decision 



Managerial Decision Implemented 
Figure 10-1. Data processing to produce reports 



340 



PRINCIPLES OF PROCESSING SYSTEMS 



Exception Principle 

The selection of informative data can be accomplished by equip- 
ment, instead of by people, in one of several ways. The exception prin- 
ciple is a first step beyond merely processing the data. The exceptions 
isolated by the processing system are reported in one of two ways. 
(This section on the exception principle follows Gregory, 1959. ) 

One method is to have readers scan complete reports to find sig- 
nificant differences. Complete reports can show actual results, planned 
or expected results, and differences. The differences may be in the 
same units — dollars, hours, or tons — as the individual items. Percent- 
age variations from expected results are often shown and readers scan 
reports to find significant differences for action. Complete reports are 
widely used because their preparation is simple: every item is reported 
in a fixed format regardless of the amount of the item or its variation. 
Management's selection task may be difficult because significant items 
get buried in a mass of data. 

A second method for using the exception principle scheme is to 
report only those items that vary significantly from the planned re- 
sults (Gregory and Trust, 1959). The processing system examines each 
variation to find whether it is worth managerial attention. If so, the 
item is reported. If not, it is omitted. Data must, of course, be collected 
and processed in order to be available for possible inclusion in reports. 
But only those items that have significant variations are included in 
managerial reports. A complete report with all items can, if desired, 
be prepared for reference purposes. 

Figure 10-2 is a block diagram of the scheme for data processing 
and report preparation by the exception principle. It shows that se- 
lected output goes to management. Complete reports are available as 
back-up and for further analysis to select other items as necessary. 
Management still makes all decisions. 



Data Processing 



INPUT 
EQUIPMENT 



DATA 
PROCESSOR 



REPORTS 



► < 



Management 



Operation 
to be 
Controlled 

— z — 



Input 
Data 



Processing 



Select 
Infor- 
mation 



Infor- 
mation 
Output 



Re-appraise 
Decision 



Out- 
put 
Data 



Select 
Infor- 
mation 



Make 
Decision 



Review 
Decision 



Managerial Decision Implemented 



Figure 10-2. Data processing to produce information 



DATA AND INFORMATION: COST AND VALUE 341 

Normal Range. Several steps are involved in setting up and 
using an exception principle system. The fact that exceptions can be 
determined and reported presumes the existence of a target or expected 
result. A normal range of actual value above or below the expected 
result is established for each item in a report. The normal or natural 
range is fixed, so that if actual results are within the range, a single 
plan of action gives good results. An item that falls inside the normal 
range is omitted from reports because no new action is required. If an 
item falls outside the normal range, it can be reported in detail — name 
of item, planned amount, actual amount, and variation. The manager 
responsible for its control can take whatever action he thinks best. 

The exception reporting plan strives to increase the information 
content — understandability, relevance, novelty, and timeliness — of 
reports. The normal range selected for each item to be reported is crit- 
ical to the success of the plan. 

Setting the Normal Range. The reason for setting up a normal 
range of expected value is that one course of action is suitable for items 
within the normal range of value while items outside it require a 
different kind of action. The normal range should be wide enough to 
cover all items that do not require new action so that such items are 
not reported to managers. The width of the normal range is limited by 
the fact that a plan of action for a particular item should give good 
results. If the range is too wide, an action plan that is suitable when 
the actual result is near the top of the range is unsuitable when the 
actual result is near the bottom of the range. Use of the normal range 
implies a control plan. The process is assumed to be in control if actual 
results fall anywhere within the normal range; but the process is con- 
sidered out of control and new action is required when the actual 
result falls outside this range. Upper and lower control limits are the 
boundaries of the normal range. 

The control limits to be used are obvious when action rules already 
exist. For example, re-order points are used as lower control limits 
for inventory management. Stock items that have smaller balances are 
reported. A manager can learn which items must be ordered without ex- 
amining all items and without making any calculations. On the other 
hand, the normal range may be difficult to set if no action rules exist. 
A lack of explicit action rules implies that decisions are based on "judg- 
ment," which is, in reality, a rather amorphous decision rule. Many 
factors affect an item and actual amounts may appear erratic. Normal 
range for an erratic item can be developed by starting with the planned 
amount and considering the degree of variability or fluctuation in the 
item. Management may be able to set the planned or expected values 
for some items but not for others. For example, the planned amount 



342 PRINCIPLES OF PROCESSING SYSTEMS 

of direct labor is controllable within narrow limits, but the amount 
of sales generally is not. 

The planned or expected values may be based on: 

1. Actual amount in the past month, quarter, or year 

2. Average, either fixed or moving, of amounts in several past periods 

3. Forecast of future results, if the future is expected to be much dif- 
ferent from the past 

The amount of variation from the expected value depends on 
operations and is less subject to management control. The permissible 
amount or degree of variation might be measured in one of several 
ways. Useful methods are the absolute variation from the expected 
amount, the percentage variation from the expected amount, or the 
average or standard deviation from the expected amount. 

The use of a normal range for screening items that are out of con- 
trol is not limited to the final stages of report preparation but can be 
applied at any stage of data processing. The expected value and varia- 
tion must, of course, be adjusted to the particular level of operations 
being considered. 

Example. An example will show how the idea of expected value 
and normal range is applied in the preparation of reports. Part X is 
manufactured for stock, and inventory is reviewed weekly. The action 
rules are as follows: no action is taken if 21,000 to 30,000 of these parts 
are in stock; manufacturing is started if less than 21,000 are in stock; 
and manufacturing is stopped for an inventory over 30,000. 

Three values that might be used for reporting by the exception 
principle are: 

1. Less than 21,000 — start manufacturing 

2. Between 21,000 and 30,000— take no action 

3. More than 30,000 — stop manufacturing 

Any of these three ranges can be used as normal. Each implies a 
single plan of action. The range may be selected after examining oper- 
ating experience for a representative period of time. 

On Hand Number of Weeks 

to 21,000 Twelve 

21.000 to 30,000 Twenty-eight 

30.001 and more Ten 

If future experience follows past experience, inventory balance 
will be between 21,000 and 30,000 most of the time. This is the best 
range to use as normal for reporting by the exception principle. It is 



DATA AND INFORMATION: COST AND VALUE 343 

"best" in the sense that it keeps Part X off most of the weekly reports 
for management. Part X is reported only when its balance is outside of 
normal — less than 21,000 or more than 30,000. The person responsible 
for inventory control then observes whether the quantity is below 
21,000 or above 30,000 and takes appropriate action. 

Some waste motion may occur in reporting and decision making 
with this plan. A second weekly report is made if inventory stays below 
21,000. Since a production order was supposed to be issued after the 
first report, duplication of the production order must be avoided. The 
inventory might be defined as "available supply" — the quantity on 
hand and on order — so that Part X would be reported only when the 
available supply goes below 21,000. The plan used should, of course, 
be tailored to the situation. 

Appraisal. A system relying on the exception principle increases 
the information content of reports for management. Reductions in 
reports can save printing and distribution time. Management time is 
saved by dealing with shorter reports that pinpoint the needs for 
action. Items that are reported only rarely can be analyzed to see if 
they should be dropped. The level of management receiving a report 
may not be able to take appropriate action; a certain manager may 
be too high or too low in an organization to rectify a situation, or it 
may be outside his area of responsibility. Still, the problem of reporting 
only relevant information to a manager is probably no worse in this 
scheme than in any other. Managers postpone action on some items 
outside normal range because action on other items will have more 
effect on the over-all results. 

Internal Decision Plan 

An internal decision plan does more than merely report situations 
outside an established normal range. "Internal decision" means that 
the data-processing system is programmed to take appropriate action. 
The action may include issuing instructions to a clerk or to a manager, 
or it may involve preparing documents — purchase or production 
orders — for distribution. Even physical action — starting, changing, or 
shutting off a production line — can be taken if both the data process- 
ing and factory operations are automatic. 

Figure 10-3 is a block diagram of an internal decision plan. The 
area labeled "data processing" includes three functions: processing 
data, selecting information, and making decisions. Management gets 
data and information about only those items to which no decision rules 
apply. Management deals with situations that are not handled by the 
processor; but management's main task is to review decisions. The 
processor handles tasks that are reduced to rules while a manager sets 
up and reviews objectives, policies, and decision rules. 



344 



PRINCIPLES OF PROCESSING SYSTEMS 



Management 



Data Processing 



INPUT 
EQUIPMENT 



DATA 
PROCESSOR 



REPORTS 



Automatic Decisions Implemented 



Operation 
to be 
Controlled 



Input 
Data 



Processing 



Select 
Infor- 
mation 



1 



Make 
Deci- 
sions 



Re-appraise Decision 



"— ► 



Information 
Output 



Out- 
put 
Data 



Select 
Infor- 
mation 



Make 
Deci- 
sions 



Review 
Decision 



Managerial Decision Implemented 
Figure 10-3. Data processing to make a decision 

The formulation of decision rules for various conditions is funda- 
mental to an internal decision plan. These problems are similar to those 
involved in setting normal ranges, but they are more complex. Manage- 
ment decisions based on available data may follow explicit rules that 
can be programmed for the data processor to apply during report prep- 
aration. Control of many operations may be well suited to using an 
internal decision system, for automatic equipment is more efficient 
than people at applying rules in order to reach decisions. 

Variable Processing Plan 

A variable processing plan examines selected items at key points 
when it first handles the data. Any key points that do not fall within 
the normal range of expected values are examined in more detail by 
processing the supporting data on a second run. This process is re- 
peated until the original data, if necessary, are examined in detail. 
Limited processing may show that some areas are inside the normal 
range for control purposes. Data for such areas need not be processed 
further. Attention can then be concentrated on areas where results are 
outside the normal range. 

Consider a report of total operating cost covering several manu- 
facturing plants. On the first pass, only data on the total cost for each 



DATA AND INFORMATION: COST AND VALUE 345 

plant is computed. If the total cost for a plant is outside the normal 
range, the costs for each major function can be computed. If any of 
these costs is out of range, a detailed analysis is made and printed out. 
Processing can be extended to any desired degree of detail, al- 
though highly detailed information is seldom worth its cost for mana- 
gerial purposes. By concentrating on areas that need attention, 
management can examine them more thoroughly than would be worth 
while if standardized reports for all plants had to be examined. 

Manual Intervention Plan 

One plan for designing an automatic system is to provide for every 
situation that may arise. This scheme requires that computer programs 
cover both common and rare cases. Such an ambitious scheme may be 
expensive because of the high programming costs, large internal storage 
for extra programs, and delays in getting the system into operation. 

A second plan is to have the computer handle high-volume trans- 
actions. When a rare case arises, the processor notifies the operator 
and either puts the case aside or waits for instructions. Manual inter- 
vention, either later or immediately, assists the processor to cope with 
the unusual situation. 

All automatic systems require manual assistance for data prepara- 
tion, problem analysis, and programming; but they attempt to mini- 
mize manual intervention during computer operations. The chief point 
is that manual effort is applied in advance of processing. But in the 
manual intervention scheme, some manual effort is also applied during 
processing to cover situations that were not programmed for the proc- 
essor to handle alone. 

COST OF DATA AND INFORMATION 

Data and information for management purposes were defined 
above and schemes were suggested for increasing the information con- 
tent of reports. The cost of obtaining and processing data to get in- 
formation, as well as the value of the information itself, deserves study, 
for final system design is usually governed by economic considerations. 

Cost Measurement Schemes 

Cost is the price paid for obtaining and processing data to produce 
reports. Two widely used methods for assigning cost to data are worth 
discussion: the average and marginal cost methods. Developed over a 
period of several centuries for factory cost accounting, these methods 
are applicable to data-processing costs today. 

Average Cost. Some costs can be identified with a particular 
project or job for obtaining and processing data. These costs are like 



346 PRINCIPLES OF PROCESSING SYSTEMS 

direct material costs and direct labor costs of production in a factory. 
Other costs of processing data are not easily identified with a particular 
project but are distributed over all the work done. These costs corre- 
spond to indirect factory costs — equipment depreciation, supervision, 
space, supplies, and so forth; they are distributed by overhead rates 
which supplement the direct costs. 

Data-processing costs for large operations may be identified read- 
ily with major areas — purchasing, inventory control, production con- 
trol, payroll, and others. But a detailed job costing within each major 
area may be difficult because data-processing operations are inter- 
related within the areas. One set of data may be used for several dif- 
ferent purposes, and data from different sources may be combined for 
one purpose. 

Job cost accounting gives useful answers for guiding management, 
if costs vary with the amount of work done. Factory material costs 
and labor costs may be closely related to the volume of work; but over- 
head costs may be essentially fixed and change little or not at all with 
changes in production volume. 

People often use the average cost scheme to distribute costs so 
that the total costs are distributed to users and the books balance. 
The arithmetical niceties of the average cost scheme seem to give it 
stature beyond its merits. Highly automatic operations, whether in a 
factory or office, have a high fraction of fixed costs that change little 
with the volume of data that is processed. Job cost accounting loses 
much of its meaning in such cases, for which another method for 
assigning costs is more useful. 

Marginal Cost. Marginal cost, popularly called "out-of-pocket 
cost," is the amount that costs change as volume changes. The operat- 
ing cost of an automatic data-processing system is constant for large 
changes in volume of data processed or reports produced; accordingly, 
marginal cost is small. Marginal cost schemes charge a job with only 
the additional cost incurred because of that job. For example, prep- 
aration of a report might start with data already collected for other 
purposes and be completed within the basic operating schedule for 
both equipment and people at a marginal cost of zero. 

Marginal costing is often used when considering the installation 
of a data-processing system. People talk of starting equipment on im- 
portant "bread-and-butter" applications to absorb the total cost of 
the system. Afterwards, "gravy" applications that benefit by not 
having to absorb any costs are started. No charge is made against the 
additional applications because the marginal cost is zero. This ap- 
proach to selecting applications follows the slogan, "Anything worth 
while is worth doing — for money." 



DATA AND INFORMATION: COST AND VALUE 347 

The use of either the average or the marginal cost scheme has cer- 
tain consequences as data-processing volume changes. For an automatic 
system with large fixed costs, the average cost per unit is high, if vol- 
ume is low. Such costs discourage use of the equipment when the sys- 
tem is idle. The opposite is also true. Average costing may lead to either 
too little or too much work. It is probably wise to encourage use of 
an idle system and discourage use of an overloaded system. 

Marginal costing is sensitive to the system load. If equipment is 
idle, marginal cost is small and encourages use. If equipment is fully 
loaded, marginal cost is high and discourages use. Marginal cost is 
the full increase in costs for equipment, personnel, and supplies. Such 
cost is high for the first application and the application that requires 
more equipment or that takes a second shift. To overcome this feature 
of marginal costs, basic system costs may be lumped and not allocated 
to individual jobs. Decisions either to tolerate idle capacity of equip- 
ment or to use it to full capacity are usually made on the basis of mar- 
ginal costs. 

Factors Determining Cost 

The cost of data and information obtained from a data-processing 
system depends on many factors. The more important factors are dis- 
cussed here: accuracy, timeliness, capacity, and load; selective or 
standardized processing; and the reporting plan. 

Accuracy. "Accuracy" is, in simple terms, the condition of being 
accurate. Accuracy may mean the precision or amount of detail in a 
datum. The number 10 may mean exactly (precisely) 10 if integers are 
used, or any number between 9.50 and 10.49 if fractions are permitted. 
Details may be dropped by expressing items in large units — tons in- 
stead of pounds — or by dropping digits in order to round to the nearest 
dollar or nearest thousand dollars. "Precision" exactly defines limits 
beyond which an item cannot fall. "Accuracy," on the other hand, de- 
fines limits beyond which an item probably will not fall — the degree of 
dependability in a datum — or statistically speaking, the standard de- 
viation of a datum. Although your bank statement and your checkbook 
stubs are kept with the same degree of detail and precision, there is 
usually less confidence in the latter. An organization usually knows 
the total amount of accounts receivable with more accuracy than it 
knows the value of inventory. The costs involved in determining in- 
ventory value may force one to stop short of the absolute in pursuing 
accuracy. The retail inventory scheme, for example, uses the ratio of 
cost to selling price for merchandise bought to convert inventory 
taken at selling price back to cost. The use of ratios is an admission 
that the loss of accuracy in finding the cost of inventory might be more 
than balanced by the reduction in the expense of keeping detailed cost. 



348 PRINCIPLES OF PROCESSING SYSTEMS 

Results may differ from true values because of human blunders, 
errors in the calculation plan, or malfunctions in equipment. Inac- 
curacies can arise at any stage from data origination to report prep- 
aration. People can misunderstand or misread original data and make 
mistakes in operating typewriters and key-punches to prepare data for 
input. Instruction routines may have errors in logic which make all 
results erroneous. Even when most cases are being handled correctly, 
others that are not anticipated may give erroneous results. Equipment 
malfunction can be either repetitive or intermittent. 

Many schemes based on partial or complete duplication of opera- 
tions are used to increase the accuracy of results. Data origination 
is commonly verified by repetition. A parity-bit associated with each 
character guards against the accidental gain or loss of a bit that would 
change a character. Instruction routines are checked for logic and 
test-checked with simulated or real data to debug them. Duplicate 
circuitry or programmed checks, or even both, are used to detect mal- 
functions in automatic processors. Double-entry, balancing, and proof 
schemes are commonly used to insure accuracy in manual or mechanical 
accounting systems; more elaborate plans are used with automatic 
processing systems. 

These plans for increasing accuracy (decreasing the difference 
between results and the true value) also increase the cost of processing 
data. Additional precautions are required to decrease the margin of in- 
accuracy from 10 per cent (calculated result within only 10 per cent 
of the accurate result) to 1 per cent, .1 per cent, and so forth. The pre- 
cautions required grow rapidly as the margin of permissible error is 
narrowed. 

Another approach to the problem of accuracy is to look at the 
incidence or frequency of inaccurate answers (Gregory, 1953). The 
error frequency rate deals with whether one answer in a hundred, a 
thousand, or a million is wrong, without considering the degree of 
precision. Manual systems using office equipment may result in one in- 
accurate answer in a thousand or so arithmetical operations. That is, 
999 answers out of 1,000 are correct and one is incorrect. Error fre- 
quency rates are smaller within the electronic parts of automatic sys- 
tems — perhaps one in a million, billion, or more operations. 

The important point here is that increasing the accuracy of re- 
sults — measured in terms of either their precision or their reliability — 
adds to the cost of originating and processing data. Figure 10-4 
suggests the relationship between the cost of data processing and the 
precision of results. Costs increase sharply as the margin of error is 
decreased from one part per 1,000 to one part per 10,000, and so forth. 
Much of the cost increase arises from the trouble involved in organizing 
and policing data origination and transcription methods. Data that 



DATA AND INFORMATION: COST AND VALUE 



349 



are precise to 8 digits may be more costly to obtain than data with 
two-digit precision. Step functions or breaks may occur in the cost 
curve. For example, a number correct to one part in one million re- 
quires handling 7 digits, but to get an answer with eight-digit pre- 
cision would require double precision arithmetic in a computer with a 
seven-digit word length. 



$ 
Cost 



1 
100 



1 



1 



1 



1000 10,000 100,000 1,000,000 
Margin of Accuracy 
Figure 10-4. Cost and accuracy of results 



Timeliness. Information may be timely in the sense of being 
available at a suitable time or being well-timed. Timeliness, or the age 
of information, has two components: interval and delay (Gregory and 
Atwater, 1957). "Interval" is the period of time — week, month, quar- 
ter, or year — between the preparation of successive reports. "Delay" 
is the length of time after the close of an interval before information 
is available for use. The delay covers the time required to process data 
and to prepare and distribute reports. 

A distinction needs to be made between the interval and the re- 
porting period. "Interval" is the frequency of report preparation, 
whereas "reporting period" means the length of time that is covered 
by the report. For example, a report covering a period of one day may 
be prepared only once a week. A fireworks retailer might prepare a 
statement at yearly intervals to cover the two-week reporting period 
from June 21 through July 4. On the other hand, for moving or running 
totals or averages — for example, shipments during the most recent 13 
periods of 4 weeks each — the reporting period is 52 weeks but the re- 
ports are prepared at four-week intervals. In short, the reporting period 



350 



PRINCIPLES OF PROCESSING SYSTEMS 



may coincide with the interval used, or be either shorter or longer. 

People often say that they must have immediate or up-to-the- 
minute information in order to operate effectively. "Immediate" liter- 
ally means anything pertaining to the present time or moment. Both 
the interval and the delay would have to be extremely short or even 
zero in order to get immediate information. The cost implications of 
timeliness are treated here, while the values obtained from timely in- 
formation are covered later in this chapter. 

Interval. There are at least three classes of operations worth 
considering here. Some operations involved in processing data are 
carried on throughout a reporting interval without regard for *he 
length of the interval. Data origination and some processing op< ra- 
tions may be continuous. Other operations, such as file maintenance 
and processing, may be flexible; but they must be done at least once 
before reports are prepared. 

The use of short reporting intervals involves additional processing 
cycles during any period of time. For example, a high fraction of the 
total magnetic-tape file processing cost is incurred merely by passing 
tape through the processor. The tape read-write time may be essentially 
the same whether file activity is low or high. In such "tape-limited" 
processing, costs are more closely related to the number of file-proc- 
essing cycles than to the number of transactions handled. Short inter- 
vals involve frequent preparation of reports. The cost of summarizing 
files and preparing reports is related to the number of reports prepared. 
The point is that some costs of processing — updating files and prepar- 
ing reports — may double if the reporting interval is cut in half. 

The relationship between the cost of data processing and the 
length of interval is shown in Figure 10-5. Interval length is shown 



Annual 

$ 

Cost 



15 



30 



60 



Length of Interval, Days or Any Other Unit 
Figure 10-5. Cost of processing and length of interval 



DATA AND INFORMATION: COST AND VALUE 351 

in calendar days, but business days or any unit of time that you wish 
may be used. It indicates that costs nearly double each time the in- 
terval is cut in half. The ultimate, as the interval approaches zero, is 
for costs to become infinite. It is, of course, impossible to process data 
when the interval is zero, for no data are available for an infinitesimally 
short period. 

Going in the other direction, as the interval becomes longer, the 
costs of processing data will also increase. Extremely long intervals 
require that more data be held in active storage until reports are pre- 
pared and a new interval starts. The preparation of reports serves the 
useful, but little noticed, purpose of permitting a purge of active files 
and the adoption of a new starting point. 

The cost implications of extremely short intervals are of practical 
importance for systems that utilize magnetic-tape files. System analysts 
in one company reported that, over a long period, weekly processing 
of a policyholder's file was about four times as expensive as monthly 
processing (Davis, 1955). Similarly, a manufacturing company reported 
that daily inventory processing would cost about four times as much 
as weekly processing. Both operations were tape limited. To the extent 
that processing is computer limited to handle new transactions against 
the file, processing at shorter intervals may be obtained at little or 
no cost, if computer running time is not increased. This discussion of 
the effect of changing the length of the processing interval presumes, 
of course, that the processing technique remains constant so that only 
one change in the system is considered at a time. 

Now consider the effect of changing the technique of processing 
from magnetic-tape files to random-access disk or drum storage for 
files. It appears that the cost of random-access file processing would 
still be "U "-shaped (high costs for extremely short and long intervals, 
but lower costs for intermediate length intervals), but would be less 
than the cost for tape file processing for short intervals because the 
random-access file would take less search time. On the other hand, a 
long interval would, it seems, precipitously increase processing costs 
because of the large number of disks or drums required. Large-capacity 
ram "boxes" holding even 100 million characters equal the contents 
of only a limited number of magnetic tapes. Protracted intervals mean 
that data must be carried forward for a long time before reports are pre- 
pared and files can be purged. 

Report preparation may cost as much or even more for random- 
access equipment than for magnetic-tape files because the data-transfer 
rate of unorganized data from disks and drums is slower than it is for 
sequential data on magnetic tapes. In summary: data-origination costs 
may be the same for both magnetic-tape and random-access systems; 
short-interval processing may be less for a random-access system; and 



352 



PRINCIPLES OF PROCESSING SYSTEMS 



report preparation may be less for a tape system. 

Delay. "Delay" is defined as the length of time after the close 
of a reporting interval before processing is complete and information is 
available for use. The chief element of delay is the time required to 
process data; small amounts of time are required to prepare reports and 
distribute them. 

A basic difference in the nature of forecasts and reports of actual 
results, and therefore the delays involved in issuing each of these, de- 
serves consideration at the outset. Forecasts for the next period are, by 
definition, available before the period starts. On the other hand, actual 
results covering a period cannot be obtained before the close of the 
period. This is true no matter how quickly the data are processed. Ac- 
countants are often chided for dealing with history, but they are not 
alone in this. All facts are history. People who want advance informa- 
tion must be content with forecasts because actual results are not 
available. 

For any particular system using certain methods — manual, elec- 
tromechanical, or electronic — there is some processing delay that has 
the lowest operating costs. System and equipment capacity are used 
at a high fraction of capacity throughout the interval and neither an 
overload nor idleness occurs. 



$ 
Cost 




-► Longer 



Delay 



Figure 10-6. Cost of processing and length of delay 

Shortening the processing delay, when the same type of system 
and equipment are used, increases costs. The relationship between the 
cost of processing and the length of delay is suggested in Figure 10-6. 
Costs are at a minimum for some particular delay. Shorter delays in- 
crease costs because additional capacity is required, scheduling is more 
difficult, and average usage is lower. As the delay is decreased toward 



DATA AND INFORMATION: COST AND VALUE 



353 



zero, costs skyrocket because no system, even a "blue-sky" one, pro- 
duces results with zero delay. Moving in the other direction, longer 
delays also increase processing costs. The system may bog down be- 
cause it must store and deal with a great quantity of data before proc- 
essing can be completed. 

These comments on the cost of processing and length of delay 
are not restricted to any particular system and type of equipment. They 
apply to all. Changes in system or equipment alter the cost-delay rela- 
tionship, but do not destroy it. The "U"-shaped cost curve is gen- 
erally true for all processing schemes in use. 

System Capacity. The capacity of a system must be large enough 
to handle peak loads. For a steady work load, the use of either faster 
equipment or more equipment can reduce delay. If work loads are 
uneven, some trade-off of increased system capacity against longer 
processing delays is necessary. The fixed costs of a system — equipment, 
space, basic personnel, and programming — are determined chiefly by 
the maximum capacity of the system. Operating costs — media, over- 
time, and others — are more sensitive to total volume. When the peak 
load is much greater than the average processing load, either more 
capacity must be provided to handle the peak or the elapsed time re- 
quired for processing will grow. Such added capacity may then be idle 
until the next peak load occurs. 

Staggering or overlapping intervals so that peak loads occur at 
different times may smooth out system loads. This approach has merit 
although it does not deal with the basic problem of short delays and 
the high cost of processing. It deals with a symptom, not a cause. But 
cycled work loads can increase processing efficiency. The relation- 
Peak load 
encountered 

System 

Capacity 

Required 




Average load 







Longer 



Acceptable Delay 
Figure 10-7. Required capacity and acceptable average delay 



354 PRINCIPLES OF PROCESSING SYSTEMS 

ship between system capacity and acceptable delay is suggested by 
Figure 10-7. As the acceptable delay is increased, the maximum capac- 
ity required drops off from peak load size, for short delays, and levels 
off near the average load. 

Interval, delay, and capacity are probably the three most impor- 
tant factors that determine the cost of data processing and information 
production. 

Other Factors. Several other factors influence data-processing 
costs: degree of automation, extra capacity, flexibility, communica- 
tions, processing schemes, and rate of transition. 

A higher fraction of total costs is fixed for automatic systems than 
is the case for manual systems. Total costs change slowly with an in- 
crease or decrease in volume. 

A system must, obviously, have enough capacity to handle present 
applications, and additional capacity may have to be obtained ahead 
of need because available equipment comes in only a few sizes. Extra 
capacity provides for expansion. The central computer is restricted to 
one or two sizes although much more freedom exists to add relatively 
small units of peripheral equipment later when needed. 

Flexibility costs money. A system limited to one or a few specific 
applications that do not change has a minimum cost. At the other ex- 
treme, a system may be flexible enough to deal with any application. 
In such a case, more capacity, systems analysis, and programming are 
required to handle an application. 

Communications methods used may range from regular or air mail 
to wire and radio transmission. Each, of course, has different cost func- 
tions that vary with the volume of data transmitted. 

Processing schemes may be standardized or selective. The excep- 
tion principle, internal decision, and variable processing plans de- 
scribed earlier in this chapter are examples of selective processing 
schemes. Analysis and programming costs for a selective processing 
scheme are higher than for standardized processing. Once set up, how- 
ever, operating costs for a selective scheme may be low because at- 
tention is focused on situations that demand it; and situations that 
are in control are ignored, if that is feasible. 

The rate of transition from the old to the new system also affects 
costs. Rapid changes from one system to another result in confusion 
and lost motion. Some people, in fact, say that important changes in a 
system cannot be made more frequently than once every three to five years. 

VALUE OF INFORMATION 

The concept of the value of information is basic to a study of data 
processing and information production. The usual definition of "value" 
is that property of a thing which makes it esteemed, desirable, or useful, 



DATA AND INFORMATION: COST AND VALUE 355 

or the degree to which this property is possessed. Theories of the value 
of information fall into three categories: intangibles, cost outlay, and 
managerial use of information. The first two are only mentioned here; 
the third is discussed in detail. 

Intangibles 

It is frequently said, "A proposed system is worth while because 
it will provide better information for operations and for management 
decisions." "Better" is seldom defined in terms that are measurable so 
that it can be included in system feasibility or application studies. 
Improvements are merely treated as plus factors, or intangibles, and no 
value is assigned. Intangibles that do exist serve to reinforce a de- 
cision to adopt a new system. 

Treating intangibles as unvalued factors may result in a wrong 
decision. A change that is not made when the value of intangibles is 
omitted might be warranted if their value is counted. This point is 
considered later under the managerial use of information. 

Cost Outlay 

Many systems analysts adhere to the theory that the value of in- 
formation is equal to the money cost of obtaining it. When considering 
changes for an existing system, analysts may insist that the same in- 
formation or even more information be obtained than before, without 
any increase in cost. They are, in effect, satisfied with the results ob- 
tained by the present outlay for processing data. That is to say, the 
value of information is considered equal to the money cost involved. 

An extremely simple change, such as a 50 per cent decline in proc- 
essing costs, poses an interesting test case of the cost outlay theory 
of value. One choice is to save the reduction in cost and spend only 
half as much for processing. The other choice is to spend as much as 
before and obtain better information — more accurate, timely, com- 
plete, and so forth. A cost outlay theory of value cannot answer the 
simple question of whether to save the cost reduction or spend the 
savings to get more information. Any conclusion is suitable, if the same 
or more information is obtained at no increase in cost. 

Managerial Use 

A more useful concept is that the value of information should be 
studied in terms of its relationship to operating performance of the 
organization or to the revenue obtained. Assume that all factors in- 
fluencing operating performance can be held constant. If some report or 
portion of a report is dropped or changed, the resulting decrease in 
performance would be an indicator of the value of information supplied 
by that report. If no decrease occurred, the report might be considered 
valueless. 



356 



PRINCIPLES OF PROCESSING SYSTEMS 



In real life, the effect of a single report on an over-all result is 
difficult or impossible to measure. Within a large organization many 
departments do not sell their products in the market but merely trans- 
fer them to other departments at arbitrary values. Changes in revenue 
associated with any particular reports are difficult to estimate. 

Six aspects of information used for business operation and manage- 
ment that deserve study in formulating a theory of value are: 

1. Accuracy 

2. Age of status information 

3. Age of operating information 

4. Predictability 

5. Relevance 

6. Consequences 

Some of these factors were discussed under the cost of data proc- 
essing; they will be considered here from the viewpoint of their in- 
formation value. 

Accuracy. The useful margin of accuracy, as defined earlier, 
depends on the user and the situation. More accuracy is warranted if a 
larger margin of inaccuracy might cause the user to make a different 
decision. Frequently, inaccurate information leads to incorrect deci- 
sions. In some cases the margin of inaccuracy may have little or no 
bearing on the outcome. Assume a simple case in which an item is re- 
ordered when only 1,000 are on hand. If 2,000 are actually on hand, 
the decision to re-order is the same whether 1,001 or 1,000,000 are 




1000 10,000 100,000 1,000,000 
Margin of Accuracy 
Figure 10-8. Value, cost, and accuracy of results 



DATA AND INFORMATION: COST AND VALUE 357 

reported to be on hand. In such a case a large margin of inaccuracy — 
ranging from minus 50 per cent to plus hundreds — makes no difference 
to the decision. On the other hand, when the true quantity is 1,010, an 
inaccuracy of even 1 per cent may lead to an incorrect decision. 

Figure 10-8 suggests the relationship between the accuracy of 
information, its value for management, and cost of processing. Value 
is low or negative when the margin of inaccuracy is high. Such inac- 
curacy frequently leads to incorrect decisions. The value of informa- 
tion increases rapidly as the margin of accuracy is increased or, to put 
it differently, as the difference between reported and actual results is 
decreased. Information that is more nearly accurate facilitates correct 
decisions. 

Carried to the extreme, the accuracy of information may be in- 
creased beyond the point where it aids decision making; additional 
accuracy may then be ignored or discarded. Throughout most of the 
range of accuracy, the value exceeds the cost of achieving that degree 
of accuracy. The most desirable margin of accuracy is reached when 
value exceeds cost by the greatest difference. 

Age of Status Information. For status or point-of-time informa- 
tion, the minimum age of the newest information available is equal to 
the delay involved. If processing data to prepare and distribute reports 
takes 10 days, a report of inventory on December 31 is first available 
on January 10. The information in the report is 10 days old when it 
becomes available. 

If an inventory report is prepared for the end of each month, new 
information will next become available on February 10. Just before 
new information becomes available the most recent inventory, that for 
December 31, reaches a maximum age of 40 days. The age of the new- 
est information available ranges from 10 to 40 days, so that its average 

age is 25 days: 1Q + 4Q = 25. 

A slightly different way to look at the average age of status in- 
formation is to start with the minimum age and add half the interval: 

30 
10 + -p- = 25. The average age is, of course, the same calculated by 

either plan. The age of status information relating to a point in time 
can be summarized as follows: 

1. The minimum age for the newest information available is equal to the 
processing delay. 

2. The average age is equal to the processing delay plus one-half of the 
reporting interval. 

3. The maximum age of information on hand before new information be- 
comes available is equal to the processing delay plus the reporting 
interval. 



358 PRINCIPLES OF PROCESSING SYSTEMS 

In systems design work, more emphasis is usually put on reducing 
the processing delay than on changing the reporting interval. An im- 
portant advantage of an automatic system is that it can cut down the 
processing time and reduce the minimum age of information. 

Any delay that occurs in processing is the primary determinant 
of age for information that is used as soon as it becomes available. 
In such a case the minimum age deserves emphasis. Information may 
not be exhausted immediately after it becomes available but may be 
used several times until the next report becomes available one interval 
later. Both the average and the maximum age are relevant in systems 
design where the results are used throughout the interval. This is an 
important point. If the interval is large in relation to the delay, re- 
duction in delay has little effect on the average and maximum age of 
information available. On the other hand, information may be fully 
exploited immediately after it becomes available and then discarded 
so that the minimum age counts for more than the others. Fire depart- 
ments, for example, answer calls and are soon through; whereas in- 
vestigators and insurance underwriters may worry about fires for 
months or years. 

The time that a manager spends reading reports and making his 
decisions must be counted as part of the processing delay for opera- 
tional purposes. Reports may come so thick and fast that the receiver 
cannot make full use of one before other reports, or even the next issue 
of the same report, are delivered to him. His choices are to plow 
through all the reports and try to get on a current basis or to skip some 
and start afresh. The timing of reports must be matched with the user's 
ability. Rarely is the north country sourdough's approach to reading 
newspapers correct for managers to follow in using reports for con- 
trolling operations. The sourdough may get all the newspapers for a 
whole year at one time and spend the next year reading them at the 
rate of one a day. The world unfolds for him day by day just as it 
does for everyone else, except that it is a year or so later. 

To return to the example given above, assume that the delay in 

preparing monthly reports is reduced from 10 days to 5. The average 

30 30 

age of information is then reduced from 25, 10 + -=-, to 20 days, 5 + -=-'. 

A change from a monthly to a weekly reporting interval, even though 

the delay remained 10 days, would reduce the average age to 13^ 

7 
days, 10 + -=. Whenever more timely information is required, the pos- 
sibility of making changes in both the delay and the reporting interval 
deserves consideration. The problem of selecting an interval of suitable 
length in order to obtain information that correctly reflects operations 
is covered later in this chapter. 



DATA AND INFORMATION: COST AND VALUE 359 

Age of Operating Information. The age of information that 
relates to a reporting period is different from the age of status infor- 
mation. A report of the amount of material used in production refers 
to events occurring throughout the period. Facts about sales on the 
first day of a month are a month old by the end of the month. Informa- 
tion about operations throughout a month has an inherent age of one- 
half a month merely because it covers a reporting period of one month. 
The processing delay involved before information becomes available 
must be added to this inherent age before the information is available 
for use. You will recall that the reporting period can be the same as or 
different from the interval between reports. 

The maximum age of operating information is reached one interval 
later just before new information becomes available. The age of oper- 
ating information can be summarized as follows: 

1. The minimum age is equal to the inherent age of half a reporting 
period plus the processing delay. 

2. The average age is equal to one-half an interval plus half a reporting 
period plus the processing delay. 

3. The maximum age is equal to one interval plus half a reporting 
period plus the processing delay. 

The age of operating information, it should be noted, is one-half 
a reporting period more than the corresponding age of status informa- 
tion. This difference arises from the fact that operating information 
has an inherent age of one-half a reporting period, no matter how long 
or short the period is. As a result, the age of operating data is more 
dependent on the length of the reporting period and the interval than is 
the case for condition data. Delay is less important as a determinant of 
age of operating data. 

Optimum Age. The best-length interval, reporting period, and 
delay to select for report preparation are problematical; but some basic 
guides can be developed. The value of information declines as the 
delay increases. It may be so out-of-date when first obtained that it 
does not reflect the situation and is not useful for management. Neces- 
sary action can be taken sooner by obtaining information more quickly. 
The increase in the value of information as the delay decreases might 
be measured in terms of the additional benefits obtained through 
earlier action than would otherwise be possible. 

The effect of the length of the interval and reporting periods on 
the value of information poses a more difficult problem. There is no 
clear-cut relationship between the frequency of processing, the period 
covered, and the value of results. Extremely short reporting periods 
that may be associated with short intervals — a high "sampling rate" — 



360 PRINCIPLES OF PROCESSING SYSTEMS 

may permit unusual or superficial events to outweigh the real develop- 
ments. Conversely, long intervals submerge unusual events in longer- 
term averages. Some intermediate-length reporting period and interval 
permits optimum sampling to obtain information that represents what 
is actually happening. 

Examples of Age of Information. Some examples will give more 
meaning to the concept of the age of information. Each "buyer," or 
merchandise manager, in a department store may want reports by 10 
o'clock that show inventory for the previous day, daily sales for the 
past week, and weekly sales for the month or season. Adequate detail — 
style, size, color, and maker — is needed for him to decide which items 
are selling well and need to be re-ordered or which items are selling 
slowly and must be pushed. Here, reports at daily intervals emphasize 
yesterday's activity but also cover a longer period to put each day in 
perspective. 

A fire department has different problems regarding the age of in- 
formation. The first few minutes after a fire starts are so critical that 
elaborate communication networks are used. The messages are so 
simple that merely pulling the handle of a fire alarm t)ox transmits the 
message and the firemen roar out of the station whether the call is real 
or false. A fire call gets a standard response without delay and with 
little regard for the interval since the last call, although the interval 
between calls does count for something. Too-frequent alarms, because 
of severe fires or numerous fires, will overtax the whole system, for 
they cannot be handled. For example, fire wardens in heavily bombed 
cities would merely reply, "So?" when someone rushed up to report 
that another building was on fire. Fire-alarm and similar systems might 
be called "event-triggered" because the occurrence of a certain event 
puts the whole operation in motion. More elaborate defense warning 
systems are called "real-time" systems for they are supposed to ob- 
tain, process, and report on developments with so little delay that 
proper counter-measures can be taken. 

The concept of delay has been discussed as though it were always 
positive, with processing following the occurrence of an event and 
preceding decision making. Actually, what is described as a single 
series of operations is more nearly continuous or circular, for each 
operation follows the other — gather facts, process, decide, gather facts, 
process — indefinitely. Furthermore, these operations occur in paral- 
lel, for decisions are made today about yesterday's facts while today's 
facts are gathered for processing tomorrow and for making decisions 
after that. 

Preparation of life insurance premium notices illustrates a different 
problem that might be called "negative" or "anticipatory delay." To 
keep work loads level, about 1/240 of all premium notices for the year 



DATA AND INFORMATION: COST AND VALUE 



361 



may be prepared each work day. Well in advance of the due date, say 
forty days, preparation of notices is started to allow time for preparing 
and mailing so that policyholders get them in ample time for payment. 
During the time scheduled for processing, mailing, and collection, 
changes occur that invalidate some premium notices. Some changes — 
death, loans, and conversions — are so consequential that corrections 
must be made before the premium is settled. Other changes — new ad- 
dresses or beneficiaries — may not require correction before collection 
of the premium; but quick correction would facilitate operations. The 
number of changes that must be made after premium notices are pre- 
pared can be reduced by telescoping the processing period. Every 
organization is faced with the problem of handling changes that occur 
during the processing period, for the output (bills, reports, or what- 
ever) no longer reflects the real situation. The incidence and severity 
of changes can be reduced by waiting until just before the target date 
to begin processing, or by completing processing soon after the events 
involved occur. 

Decision Making and More Information. Reports are prepared 
to supply facts for better management decisions. "Better" can mean 
that more efficiency, larger revenue, smaller inventory, or some other 
objective is obtained. The benefits of having more information for use 
in better decision making are shown in Figure 10-9. The lower line 
of the shaded area indicates the amount of benefits obtained without a 
particular report. When reports are obtained at times A, B, and C, 
management can make better decisions and improve operating results. 



Benefits 
Obtained 



Benefits obtained with more information 




Benefits obtained with less information 



B C 

Time 



Figure 10-9. Benefits of additional information 



362 PRINCIPLES OF PROCESSING SYSTEMS 

Decision Making and Delay. Time spent making decisions and 
putting them into effect will postpone improvements in operations. 
As information grows older, it has less value for decision making, so 
that revenue declines toward the level that would exist if less infor- 
mation were available. The cycle of improved decision making is re- 
peated when new facts are obtained. The shaded area represents the 
increase in revenue arising from a better decision, which indicates the 
value of report contents. 

Figure 10-10 shows the benefits of reduced delay in preparing and 
circulating reports. A report may be available earlier — at Aj instead 
of A, Bj instead of B. Increased benefits obtained by decreasing the 
delay are reflected by the shaded area. Two important changes occur 
when the processing delay is decreased: first, decisions can be made 
earlier than before; second, decisions can be better because the age is 
less. As before, when the age of information increases, the benefits 
obtained from using it, whether it is used throughout the whole inter- 
val or only selected portions of it, decrease toward what they would 
be with less information. 



Benefits obtained from a decrease in delay 



Benefits 
Obtained 




Aj A 



Bj B 



C X C 



Time 



Figure 10-10. Benefits of decreased delay 

Decision Making and Interval. As pointed out above, the age of 
information can be decreased by shortening the reporting period. 
Figure 10-11 shows the benefits obtained by cutting the period in half 
so that reports are available at A 1? A 2 , B v B 2 , and so forth, instead 
of merely at A 1? B v and C r The shaded area represents the increase 
in value from having information available more frequently. 



DATA AND INFORMATION: COST AND VALUE 

Additional benefits of more frequent reports 



363 



Benefits 
Obtained 




A, 



C, 



c 



Time 



Figure 10-11. Benefits of more frequent reports 

There are limits to the amount of benefits to be obtained from 
shortening the reporting period to get newer information for decision 
making. Too-frequent reporting may result in erratic information and 
lead to erroneous decisions. Several causes are at work: first, unusual 
events in short intervals can outweigh basic developments, and second, 
results for short intervals may not be suitable for projecting into the 
future. 

Reports for short intervals may be too close together for conse- 
quential changes to occur. Managers wait and consolidate several 
reports for a real indicator of developments. Systems analysts some- 
times find that daily reports, which they have labored over to prepare 
quickly, are merely saved by the recipients and summarized into a 
weekly report to be meaningful. Two losses involved are the cost of too- 
frequent report preparation by professionals and the cost of report 
summarization by amateurs. 

Shorter intervals result in more reports. Managers may become 
so burdened with reports that they cannot read them or take appro- 
priate action. The other side of the coin should be studied, for short 
intervals place higher demands for file processing and report prepara- 
tion on the data-processing system. Any combination of interval and 
delay is theoretically possible, and each combination gives informa- 
tion with a different age for management purposes and has some in- 
fluence on the total revenue obtained by basing decisions on such 
information. 

Continued shortening of either interval or delay, or both, for a 
particular method of processing, will increase costs. The optimal ar- 
rangement is the combination of interval and delay with the largest 
difference between benefits and costs. 



364 PRINCIPLES OF PROCESSING SYSTEMS 

Predictability. The value of information is related to the diffi- 
culty of predicting what is going to happen next. If it is possible to 
predict events with certainty, there is no need to have an elaborate 
data-processing system. Predictable events are similar to the cowboy 
movies in which the good guys always beat the bad guys: there is no 
need to watch the movie to know the outcome (nor any need to make 
the movie at all). Similar comments apply to data processing and re- 
porting when the outcome is essentially certain. 

Unpredictability — as reflected in the possible number of alterna- 
tives and variations — has an important bearing on the value of informa- 
tion and the design and implementation of business-data systems. A 
system to handle the number of hours worked on individual jobs needs 
to be more elaborate than a system to keep track of the number of 
people on the payroll. Variations in the number of hours worked is 
much greater than variations in the number of people employed. A job 
order production shop demands a more complex data-processing system 
than a factory operating an asssembly line. The most standardized 
factory operations can be adequately served by relatively simple data- 
processing systems. Careful observation of the alternatives and varia- 
tions that may arise will help determine the nature of an information 
control system. 

Use of the exception principle is based on the idea that most re- 
sults are predictable within fairly close limits. Exception reports need 
to show only those items that are outside some specified range. A man- 
ager may be able to assume that everything is within range unless ad- 
vised otherwise. In such a case, a report that an actual result is within 
normal range has no information value. 

Relevance. Information must be related to the problem under 
consideration in order to be useful. Having only relevant information 
enables a manager to make either better or more decisions because he 
spends no time hunting for relevant facts among irrelevant ones that 
do not bear on his problem. If available information is not related to 
the decision to be made, it has no value. The problem of information 
relevance is intimately related to the managerial organization pattern. 
The quantities and location of truck tires in inventory may be valuable 
information for a motor pool commander but useless for a tank com- 
pany commander. The old phrase, "Tell it to the Marines," reflects 
the fact that while an intended message might have value for someone, 
it might be useless for someone else. 

Consequence. Another determinant of the value of information 
is the consequence of knowing it. One useful yardstick for measuring 
the consequences of having certain information is the benefit obtained 
over a period of time. An inventory control procedure that saves a 
penny per part is consequential if millions of parts are involved. 



DATA AND INFORMATION: COST AND VALUE 



365 



In some cases there is no freedom to act because the decision is 
made at a different level of management. Past decisions may limit pres- 
ent action because "sunk costs" carry over to the future. Limitations 
that will occur in the future but which are already foreseeable restrict 
the freedom to act now. In such cases, the consequences of more infor- 
mation are nil. 

The possible range of consequences should be considered, for 
perfect information can, at most, increase efficiency by only 15 points 
if operations are already 85 per cent efficient. Information is more valu- 
able when the possibility of improvement is larger than that. Despite 
this feature, some areas of business-data processing that are easy to 
understand and change are favorite targets for improvement. Since 
much attention has been focused on improving such areas in the past, 
it is unlikely that further studies and attempts to make improvements 
have the greatest pay-off. Payroll preparation seems to be an area of 
data processing with little room for improvement, unless radical im- 
provements occur in processing methods. More can be gained by focus- 
ing attention on applications that have been neglected in the past be- 
cause processing methods were not at all suitable. 

The fact that the consequences are a final link in determining the 
value of information must be kept in mind. The effect of a manager's 
knowing or not knowing some piece of information and the action that 
follows such knowledge are important determinants of its value. New 
developments in systems analysis are given by Hitch (1955). 

FORMULATION OF COST AND VALUE MODELS 

Although numerous difficulties may arise in giving practical ap- 
plication to the concepts of the cost and value of information, these 
concepts can be used to formulate analytic expressions which describe 
simple business problems. The following example illustrates their use 
in one such problem and shows several possible analyses. 

Consider a manager who must make yes-no decisions in problems 
that arise during each of many time periods. These decisions may be 
whether or not to continue processing, place orders, dispatch repair 
crews, or take other similar actions. There is a best or correct alterna- 
tive for each of the decisions, depending on the real situation. A deci- 
sion on placing an order, for example, might have the following form: 



Decision Alternatives 


Real Situation 


Condition 1 Condition 2 
(order needed) (order not needed) 


1. Yes (place order) 

2. No (do not place order) 


Correct 
Wrong 


Wrong 
Correct 



366 PRINCIPLES OF PROCESSING SYSTEMS 

Over a period of time, the real situation is assumed to change in some 
random fashion; consequently, if the manager lacks information on the 
current situation, he will not know which decision alternative is correct. 

Assume that each correct decision the manager makes results in a 
profit, but incorrect decisions do not incur losses. He may occasionally 
decide correctly by mere guesswork; if he has the right type of informa- 
tion, however, he should be able to make correct decisions more often. 
Information can therefore produce a revenue, but it also has a cost 
which may depend on such factors as accuracy and the delay necessary 
for processing. We may thus define the best policy for the manager as 
being that which increases the value of information or increases the 
excess of revenue produced by information over the cost of acquiring it. 
In essence, the general problem thus defined is similar to many common 
ones in the real world. 

To derive an analytical expression for this problem, let V be the 
value per period of using a given set of information (dollars per period 
of use). Then V is a function of: A, the accuracy of the information 
(ratio of correct answers to the total number of answers); T, the delay 
time required to obtain information (periods); F, the interval over 
which the information is used (periods per report); P, the probability 
of making a correct decision without information; Y, the number of 
decisions made each period; and K, the profit in dollars from making 
a correct decision. The general form of this function is: 

v = K [F-i" Ff(A ' T ' Y ' n) -g (p ' Y) ]- h(A ' F ' T) (1) 

where h(A, F,T) is the average cost per period of obtaining the in- 
formation, g(P,Y) is the expected number of correct decisions per 
period without information, and f(A,T,Y,n) is the expected number 
of correct answers during each of the periods the information is used. 
To get total correct answers, f(A,T, Y,n) is summed over the F periods 
the information is used and is then divided by F to get average correct 
answers per period. The average correct answers per period with infor- 
mation minus the average without information, g(P,Y), when multi- 
plied by K (the profit per correct answer) gives the average increase 
in revenue per period that results from using information. 

To explore a more specific problem, assume that four situations 
require decisions during each time period (Y = 4). One of these deci- 
sions may undergo a random change at the end of each period, so the 
subsequent period embraces three former situations and one that may 
be either changed or the same. The opportunity for change proceeds 
in a known sequential fashion from situation to situation. At the end 
of any four periods, all four situations have therefore had an oppor- 
tunity to change. Although the outcome of a given change opportunity 



DATA AND INFORMATION: COST AND VALUE 



367 



is not predictable, the long-run outcomes are still such that selecting 
the "yes alternative is a correct decision 60 per cent of the time. 
In the absence of specific information, the best policy is always to 
choose the "yes" alternative. Consequently, the probability of a cor- 
rect decision without information, P, is 0.6, and the expected number 
of correct answers per period without information, g(P, Y), is 4x0.6 
or 2.4. 

If completely accurate information is obtained on the real situa- 
tion in period X, its use during that period will then yield four correct 
answers. Its use during the next period will yield correct answers for 
the three decisions that remain unchanged. For the one decision that 
may have changed, the "yes" alternative is the best decision and results 
in an expected 0.6 correct answers, making the expected total for period 
X + l equal to 3.6. Similarly, the expected total of correct answers for 
period X +2 is 3.2; for period X +3 is 2.8; and for period X +4 is 2.4. 
At the end of four periods, all four real situations in the example have 
had an opportunity to change; so information four periods old or more 
is worthless. The figure of 2.4 correct answers obtained in period X +4 is 
identical to the 2.4 obtained with no information. 

The collection and processing of information requires time, here 
referred to as processing delay, T. No delay (T = 0) means that informa- 
tion can be used during the period in which it was collected and will 
produce four correct answers. 

Similarly, delays of 1, 2, 3, and 4 periods correspond to usage in 
periods X + 1, X +2, X +3, and X +4. 

The following table summarizes the above behavior and the gain 
in correct answers produced by using information pertaining to the real 
situation in period X. 



Process- 
ing Delay 
T 


Informa- 
tion Used 
During 
Period 


Correct Answers f(A, 
Unchanged Changed 
Situations Situations 


T,Y,n) 
Total 


Correct 
Answers 

g(Y,P) 


Gain in 
Correct 
Answers 





X 


4 





4 


2.4 


1.6 


1 


X + l 


3 


.6 


3.6 


2.4 


1.2 


2 


X +2 


2 


1.2 


3.2 


2.4 


.8 


3 


X +3 


1 


1.8 


2.8 


2.4 


.4 


4 


X+4 





2.4 


2.4 


2.4 






Changes in the interval over which information is used have an 
effect similar to that of delay. If a completely accurate set of informa- 
tion is obtained in alternating periods with no delay and then used 
for two periods, its use during the initial period results in four correct 
answers, but during the following period in only 3.6 correct answers. 
Since the total of correct answers for the two periods is 7.6, using a 



368 PRINCIPLES OF PROCESSING SYSTEMS 

report for two periods (F = 2) results in an average of 3.8 correct an- 
swers per period. 

A lack of accuracy will degrade the gain produced by a set of in- 
formation. Accuracy (A) is defined here as the long-run ratio of correct 
answers to total answers that comprise information — in short, the relia- 
bility of information. For example, information which one time out of 
ten reports the real situation as Condition 1 when in fact it is Con- 
dition 2, or as Condition 2 when in fact it is Condition 1, has an ac- 
curacy of 0.9. 

The preceding discussion of accuracy, interval, and delay can 
now be combined to produce a specific form of equation (1). Given the 
assumptions that Y = 4 and P = 0.6, and that one known situation has 
the opportunity to change in random fashion each period, then 

f(A,T,Y,n) = A [ 4-(T +n-l)] + 0.6(T+n-l) 

for T + n - 1 ^ 4, 
and 

f(A, T, Y, n) = 2.4 for T + n - 1 > 4. 
where A [4-(T+n-l)] represents the number of correct answers to 
unchanged situations and 0.6 (T +n-l) the number of correct answers 
to changed situations that will result from using information on period 
X to make decisions in the period X + (T + n- 1 ). 

If specific expressions for f(A,T,Y,n) and g(P, Y) are inserted in 
equation (1 ), the new expression for V is then 



k{t2 F [* 

1 n = l L 



V=K )-fZi A(5-T-n) + 0.6 (T +n-l) -2.4 (2) 

1 n=l L J 

-h(A,F,T), 
forT +n-l ^ 4. 

To consider a particular case, assume that K = $5.00 per correct 
answer, information is perfectly accurate (A = l), one report is gener- 
ated each period (F = l), and information has no cost [h(AFT) = 0]. 
Equation (2) then gives the value of information (V) as follows: 



Processing 


Correct Answers 






Delay (T) 


f(A,F 


,T,n) 




Value V 


T = 




4.0 


5(4 - 


-2.4)-0 =- $8.00 


T = 1 




3.6 


5(3.6 - 


-2.4)-0 = 6.00 


T = 2 




3.2 


5(3.2 - 


-2.4) -0= 4.00 


T = 3 




2.8 


5(2.8- 


-2.4) -0= 2.00 


T = 4 




2.4 


5(2.4- 


-2.4) -0= 0.00 



Figure 10-12 shows the effect of accuracy on the revenue pro- 
duced under varying delay conditions. Note that as accuracy decreases, 



DATA AND INFORMATION: COST AND VALUE 



369 



the differences between revenues obtained by using information with 
different delays also decrease. For this situation, information of less 
than 60 per cent accuracy produces negative revenue and is, therefore, 
undesirable even at zero cost. If revenue only is considered, the best 
choice is to select information with T = 0, A = l, and F = l, since this 
combination produces a revenue of $8.00 per period. 

Revenue ($) 
10 



-10 




Accuracy 
Figure 10-12. Revenue as a function of accuracy and delay 

Costs are incurred in obtaining information, of course. Costs for 
various delays and accuracies are assumed to be as follows: 



Cost of Delay 


Cost of Accuracy 


Delay 


Cost 


Accuracy 


Cost 


T = 


C T = $5.00 


A = .99 


C A = $4.00 


T = 1 


C T = 3.00 


A = .95 


C A = 1.00 


T = 2 


C T = 1.75 


A = .90 


C A = 0.40 


T = 3 


C T = 1.00 


A = .80 


C A = 0.10 



In this example, the total cost for a set of information is assumed to 



be C T + C A , and the cost per period h(A, T, F) = 



C 



370 PRINCIPLES OF PROCESSING SYSTEMS 



When both cost and revenue are considered, the specific expres- 
sion for the value of information V is 



1 1 n = F 

V n = l 



- 5 I r: [A(5-T-n) + .6(T+n-l)-2.4 

for T + n - 1 =i 4. 



\-H 



(3) 



The cost and revenue as derived from Equation (3) are plotted in 
Figure 10-13 for F = 1 period per report. The optimal policy is to choose 

Cost and 
Revenue ($) 
10 r 



$1.25, for T = 1, A = 0.95 




Cost 


/ 


T = 




,T = 1 




T = 2 


Revenue 


,T = 3 


T = 




/t = 1 




/AT = 2 




/ / T = 3 



0.60 



Figure 10-13. Cost and revenue as functions of accuracy and 
delay for one report each period (F = l) 



DATA AND INFORMATION: COST AND VALUE 



371 



A = 0.95 and T = l, which gives the information a value of $1.25 per 
period as shown below: 

When F = 1, A = 0.95, T = 1, then from Equation (3): 

V = 5 [ 0.95 (5 - 1 - 1) + 0.6 (1 + 1 - 1) - 2.4 ] - (3.00 + 1.00) 

V = 5 [2.85 +0.6-2.4]-4.00 

V = 5.25-4.00 = $1.25 



If a delay of two periods is necessary for some reason, then the best 
choice for accuracy is A = 0.90, giving a per-period information value 
of $0.85. 

Since the, cost of information in this example is high, a less fre- 
quent reporting cycle has merit. Figure 10-14 shows the cost and value 

Cost and 
Revenue ($) 

10 r- 




Cost 




T =0 




T = 1 




T = 2 


Revenue 


T = 3 


T = 




' y T = 1 




' T = 2 




,T = 3 



0.80 
Accuracy 

Figure 10-14. Cost and revenue as functions of accuracy and 
delay for one report each two periods (F—2) 



0.60 



372 PRINCIPLES OF PROCESSING SYSTEMS 

when a report is obtained every other period (F = 2 periods per report). 
For F = 2 the maximum value of information per period is $3.12 and 
occurs when T = and A = 0.95. The highest possible value per period 
for the situation described is $3.25 and occurs when F = 3, T = 0, and 
A = 0.95. Once an analytic expression such as Equation (3) is devel- 
oped for a situation, then the optimal policy for many different sets of 
conditions can be computed. 

Real-world problems are generally more complex than the simple 
example developed here. Numerous decisions other than a mere "yes" 
or "no" are possible for many problem situations. Moreover, the ac- 
curacy of the data used may have effects on the size and kind of errors 
which far outweigh the mere knowledge that errors have occurred. The 
revenue resulting from a correct answer may vary widely under dif- 
ferent circumstances, and wrong decisions may have a tremendous cost. 
For most real situations, these factors complicate the formulation of 
useful analytical models. Testing and using analytical models is hin- 
dered further by the lack of data. Insufficient knowledge of the poten- 
tial effects of accuracy, delay, and various reporting frequencies is, 
in fact, a major handicap in analyzing systems. 

The fact remains, however, that much data-system design and 
analysis proceeds without sufficient realization or understanding of 
the economic consequences. Whether or not it is possible to formulate 
analytical models for all specific situations, the concepts underlying 
such formulation are important to effective data system design. In 
order to build a firm foundation for their work, data system analysts 
need to develop the knowledge and desire to utilize these cost and 
value concepts. 

SUMMARY 

For several reasons, few general principles or rules exist for 
guiding a person in designing a data-processing system: analysis is 
expensive and time consuming; systems are unique to an environment; 
too little experience with new equipment is available to permit long- 
run conclusions; and data-processing and information-production sys- 
tems are complex because they pervade an entire organization. 

Lacking general principles, basic ideas should be searched for and 
developed. Two broad areas to explore are the characteristics and the 
economics of data and information. 

At the syntactic level, "data" are collections of signs or characters 
arranged in some orderly way to serve as the vehicle for information. 
"Information" is the meaning derived from data and represents the 
semantic level — the relationship between a sign and the actual object 
or condition symbolized by the sign. The impact of the objects or con- 
ditions on the receiver represents the pragmatic level of information. 



DATA AND INFORMATION: COST AND VALUE 373 

Complete, detailed reports may show the variations between 
actual and forecasted results; this is a first step toward reporting by 
the exception principle. Exception principle reporting can be extended 
to omit items that do not have significant variations. Using a "normal 
range" is one way to set limits for reporting exceptional values. Items 
falling within the normal range can be handled by one decision rule. 
Items falling outside that range require different action. Normal ranges 
for screening out-of-control items can be used at all stages of report 
preparation. 

Expected values may be based on the actual or average amount 
from the past or upon a forecast of future results. Variations from ex- 
pected values can be measured in terms of absolute amounts and per- 
centage, average, or standard deviations. The exception principle 
scheme improves the content of reports by increasing their impact on 
the receiver. Infrequently reported items can be dropped from "action" 
reports; but complete reports can be prepared for reference purposes. 

An internal decision-processing plan applies management' s deci- 
sion making rules during the main stream of data processing. Managers 
can still review the results of applying the rules before putting the 
decisions into effect. A variable processing plan matches the amount of 
processing to the requirements for information. Situations out of con- 
trol are analyzed in detail. A manual intervention plan provides for 
equipment to follow rules where suitable; but situations not covered 
by rules are turned over to people in order to combine the best abilities 
of man and machine. 

The concepts of average cost and marginal cost are pertinent to the 
volume of data handled and to decisions for changing procedures. 
Factors that have an important bearing on the cost of processing data 
are accuracy, timeliness, and the degree to which the system is auto- 
matic. The cost of increasing the degree of accuracy of information — 
in terms of precision and dependability — may rise faster than its value 
for decision-making purposes. 

Short intervals and frequent reports go together; they are two 
sides of the same coin. The costs of reporting double each time the 
interval is cut in half. On the other hand, the value of reports first in- 
creases and then may decrease as intervals are made shorter. In ex- 
tremely short intervals, unusual events may outweigh and mask the 
basic developments. The delay — the length of time before a report 
about a single event or a series of events is available — can be shortened 
to get up-to-date reports. Costs may increase rapidly, if large facili- 
ties are used to meet peak demands for quick processing because such 
facilities are under-utilized most of the time. The increase in the value 
of results known an hour or minutes earlier depends on the circum- 
stances of the situation. 



374 PRINCIPLES OF PROCESSING SYSTEMS 

The value of information is often treated as an intangible that is 
not amenable to analysis. Another approach is to treat its value as 
being just equal to the cost of processing. A better approach to study- 
ing the value of information is to examine its managerial implications. 
The crucial question is: What does it contribute to managerial deci- 
sions and over-all operations? Factors that affect the value of informa- 
tion are accuracy, age, predictability, relevance, and consequence. 
Information age depends on the length of the interval, the reporting 
period, and the processing delay. Minimum, average, and maximum 
ages suitable for the situation must be considered during system design. 

Operations that are predictable require little or no information for 
effective control. Information needs to be relevant to the problems 
that the receiver of a report can handle. The consequences arising 
from knowing something depend on how much change in operations 
that knowledge will lead to in actual fact. 



Considerations 



Accuracy 

Timeliness 

Predictability 

Relevance 

Consequences 



Accuracy 
Timeliness 



Relevance 

Predictability 

Consequences 



Consequences 



Input 
Data 



Cost 
and 
Value 



Data- 
processing 
System 



Cost of input 



Reports 



Cost of 
processing 



Decision 
Maker 



Cost of 
reports 



Action 



Cost of 
decisions 



Cost of 
action 



Benefits 
of action 



Figure 10-15. Cost and value in a data-processing system 



DATA AND INFORMATION: COST AND VALUE 375 

The basic ideas in this chapter are summarized in Figure 10-15. 
The process row shows the operation of an information system from 
input data to the action flowing from decisions. 

The considerations row shows the factors that are important at 
each stage of processing. The nature of the input data is fundamental 
to the design and operation of the whole system. All five factors are 
considered for selection of input data. The data-processing system has 
some measure of control over timeliness and accuracy, at least at the 
syntactic level. 

Report makeup is determined by relevance, predictability, and 
consequences. A decision maker gets reports with some degree of ac- 
curacy, timeliness, relevance, and predictability. The primary consid- 
erations for a report user are the meaning and impact of reports — 
their semantic aspect. Following these, he must consider the practical 
consequences of his action. 

The cost and value row emphasizes the point that costs are in- 
curred at every stage of processing while benefits result only from 
managerial action. The raison detre of an information system is to 
improve the operation of the organization. Even good decisions are 
valueless unless they lead to action. 

REFERENCES AND SUPPLEMENTAL READINGS 

Davis, M. E. "The Possible Use of Magnetic-Tape Policy Files in a Life In- 
surance Office," pp. 217-229 in Electronic Data Processing in Industry: 
a Casebook of Management Experience, New York, American Management 
Association, 1955. This article grew out of the Society of Actuaries' early 
study of the use of magnetic-tape files in life insurance offices. Three record 
plans were evaluated: card file, tape file with history card, and tape file 
without history card. Some estimates of the time required to process tape 
files on a daily, weekly, and monthly cycle are of particular interest here. 

Gregory, Robert H. "The Frequency and Importance of Errors in Invoices 
Received for Payment," The Controller, vol. 21: 11-13 (January 1953). 
This article deals with the proposition that uniform 100 per cent examina- 
tion and verification of all invoices in conventional accounting practice is 
uneconomical; the suggested alternative is the processing of selected 
samples of invoices. The results of a study of inaccuracies discovered in 
35,000 invoices received at the factory of an automobile manufacturer are 
analyzed. 

Gregory, Robert H. "Present and Prospective Use of Computers in Manage- 
ment Control," pp. 21-24 in Computer Techniques in Chemical Engineer- 
ing, New York, American Institute of Chemical Engineers, 1959. In 
simplest systems, data processing is aimed at producing complete, detailed 



376 PRINCIPLES OF PROCESSING SYSTEMS 

reports for managers to examine and take appropriate action. The next level 
of improvement is to have the processing system generate information that 
managers can use to control operations. A further improvement is to have 
the data-processing system apply the decision-making rules and specify ap- 
propriate action. Closed loop control of operations is achieved in some 
process operations whereas people are usually required within the control 
loop for batch operations. The value of better information and improved 
decisions is difficult to determine because (1) the information produced is 
predictable only with probability and not with certainty, (2) decision- 
making rules are not well formulated, and (3) decisions have interactions 
and uncertain consequences. 

Gregory, Robert H., and Thomas V. V. Atwater, Jr. "Cost and Value of 
Management Information as Functions of Age," Accounting Research, 
vol. 8: 42-70 (January 1957). The economics of the age of information is 
explored in terms of its two components: (a) interval or length of report- 
ing period used, and (b) delay or time elapsed after the end of the period 
before information is available. The cost of data processing depends partly 
upon how frequently reports are prepared (length of interval) and how 
quickly they are available after a period closes (length of delay). Cost of proc- 
essing may increase sharply as both interval and delay are reduced toward 
zero in an attempt to get "immediate information." 

Gregory, Robert H., and Martin Trust. "Data Processing and Information 
Production," pp. 65-71 in Proceedings of the Eastern Joint Computer Con- 
ference, New York, Institute of Radio Engineers, 1959. This paper presents 
the theory that the function of information selection can be successfully 
delegated to mechanized elements in the system so that the output is auto- 
matically screened for management significance. Rather than generating 
fixed volumes of reports each period covering all items under consideration, 
the idea is that the report volumes will fluctuate to cover only those items 
requiring management action. In short, the system output becomes a func- 
tion of the information content of the data being processed. 

Hitch, Charles. "An Appreciation of Systems Analysis," Journal of the Opera- 
tions Research Society of America, vol. 3: 466-81 (November 1955). This 
article gives a critical examination of the processes for problem analysis 
and decision making. Although the article is concerned primarily with 
military strategy and tactics, many of the points made appear to be of gen- 
eral usefulness. The essential elements of systems analysis are given and 
some recent developments are discussed, such as (a) the great increase in the 
number of interdependent factors considered, and (b) the explicit treatment 
of uncertainty and time phasing. Analysis and intuition are examined, com- 
pared, and illustrated by situations for which the two give different an- 
swers. 



DATA AND INFORMATION: COST AND VALUE 377 

Rosenstein, Allen B. "The Industrial Engineering Application of Communica- 
tions-Information Theory,'' The Journal of Industrial Engineering, 
vol. 6:10-21 (September-October 1955). Rosenstein attempts to fit the in- 
dustrial organization into patterns that are established by communication 
theory. The operational communications concept is employed and the prac- 
tical results of the mathematical theory of communication are discussed 
without developing detailed proofs. The theory is extended to recognize the 
human elements of the industrial system and, finally, a number of industrial 
and organizational situations are examined in the light of the generalized 
theory. Rosenstein includes a lengthy bibliography to the literature on in- 
formation theory, and he gives special attention to the early work by 
Claude Shannon and Warren Weaver, The Mathematical Theory of Com- 
munication, Urbana, Illinois, The University of Illinois Press, 1949. 



CHAPTER ELEVEN 



SYSTEMS ANALYSIS 
AND DESIGN 



The purpose of systems analysis and design is to develop a data- 
processing structure that will efficiently meet the information needs 
of a business. 

"Systems analysis" is an orderly study of the detailed procedures 
for collecting, organizing, and evaluating information within an or- 
ganization, with the objective of improving control of the operations 
of the organization. 

In planning a data-information system, a systems analyst collects, 
organizes, and evaluates the facts which will have a managerial use. 
He studies the information requirements of a business in terms of its 
objectives, output reports, time requirements, work loads, available 
input data, the relative importance of problem areas, and the available 
facilities — equipment, personnel, and procedures. 

"Systems design," on the other hand, is the creative stage in devis- 
ing a new system; it includes the dreaming, inventing, planning, and hard 
work necessary to fulfill business objectives — which are often expressed 
in terms of the quantity and quality of output reports, documents, 
and files. The design phase must also take account of the processing 
methods, facilities, and data needed to fill the requirements of a given 
business for both management and operating information. 

The basic principles underlying systems analysis and design are 
discussed in this chapter. The actual methods and procedures for an- 
alysis and design are covered more fully in later chapters. 

OBJECTIVES OF ANALYSIS AND DESIGN 

Fundamentally, systems analysis and design undertakes to deter- 
mine what information is required for operating and controlling a busi- 
ness and the procedures necessary for obtaining that information. The 
analysis phase concentrates on taking a system apart to find its ele- 
ments, while the design phase puts old and new elements together to 
devise a new system. 

378 



SYSTEMS ANALYSIS AND DESIGN 379 

The objectives to be accomplished by systems analysis and design 
should be stated explicitly at the outset in order to keep the work in 
focus and to measure progress toward the goals established. The ob- 
jectives should represent a balanced statement of what is to be accom- 
plished both technically and economically. 

The level of design work may be so mundane as merely to copy a 
similar system which has been tested elsewhere and to modify it to the 
user's environment. An intermediate level of systems design involves 
devising a new system fr that makes use of existing equipment. A still 
higher level of systems design involves the invention of an entirely 
new system that may require equipment not yet built. The term 
"equipment'' is restricted to the computer, input-output devices, and 
storage units — the "hardware'' — purchased from the manufacturer. 
"System'' covers the broad processing structure built up around the 
equipment in order to use it. Of course, systems design can be done 
without introducing new equipment. 

Sometimes there is a lack of balance between systems changes and 
the related economics. Operating problems often seem paramount 
and changes are demanded at any cost. Often, although not universally, 
it is thought that a proposed system can be superior and yet operate 
at no increase in cost; but the direct outlay for data processing may 
be willingly increased to improve the quality of information obtained. 

REASONS FOR ANALYSIS 

The first question to ask might well be the somewhat philosophical 
one, "Why analyze a data-processing system?" Merely asking the 
question in an operating environment implies that a system exists and 
that it may not be entirely satisfactory. The basic reason for analyzing 
business-data systems is to select the areas where system design will 
yield the greatest improvement. A wholly new organization or opera- 
tion needs, of course, a system designed from the ground up. 

Management problems change from year to year and even from 
month to month. A system that filled information requests yesterday 
may be only partly satisfactory today and unsuitable tomorrow. Dis- 
satisfaction usually arises because the system does not fulfill certain 
business requirements or because it costs too much to operate. Equip- 
ment and systems also change over time. Engineers can design and con- 
struct better (more reliable, faster, and more economical) equipment, 
but it is often higher priced. Management analysts can devise and in- 
stall better systems for collecting and processing data and reporting 
information to management; but these systems often require new 
equipment. 



380 PRINCIPLES OF PROCESSING SYSTEMS 

Organizational Requirements 

There are many ways to answer the question, "What does manage- 
ment really need to know to run the business?" Some analysts with an 
accounting and systems-design background suggest the straightforward 
approach — simply asking management people what they must have to 
control operations (Toan, 1952). Having the consumer specify what 
he wants has some merit, but is only partly satisfactory. The consumer 
may have a good notion of the value of the information he receives, 
but he is likely to have little or no idea of the cost of gathering and 
processing data. Since the net advantage of knowing something de- 
pends on both the cost of learning it and the benefits of using it, any 
determination of what information is useful involves cooperation by 
data originators, processors, and users. 

Operations researchers have observed that business-data systems, 
especially those developed and used by accountants, seem to lack focus 
and operate with unspecified objectives (Churchman and Ackoff, 
1955). As a precautionary measure, traditional data systems gather 
and store huge quantities of facts in order to answer any questions 
that may arise. According to operations researchers, the remedy for 
such open-endedness in data origination and storage is to determine 
what questions will be asked in the future and to retain data to an- 
swer these questions alone. If all questions are specified in advance, 
then unnecessary data can be discarded; in fact, superfluous data need 
not even be gathered, for they will only be discarded. Of course, the 
success of a policy of obtaining and storing minimal data rests on suc- 
cessful prediction of future questions. But no one, not even a good 
operations researcher, feels confident enough to predict what these 
questions will be. 

The problems of determining short-run and long-run data and in- 
formation requirements are not easily solved. The high cost of recon- 
structing past facts favors the gathering of data when first available 
and retaining them on the prospect that they may be used in the future. 
Collecting and storing numerous facts to have one fact available when 
wanted may be cheaper than trying to reconstruct one fact after the 
event. Certain past events (as weather, sales, or factory production) 
may be impossible to reconstruct; unless recorded as they occur, they 
will be lost. 

Decision Making 

In the absence of any efficient way for determining future needs 
for information, the usual approach is to start with the existing in- 
formation structure and modify it to remedy known deficiencies and to 
meet foreseeable new requirements. The management organization 
deserves examination to find where decisions are made, what facts 
they are based on, and environmental restrictions on decision making. 



SYSTEMS ANALYSIS AND DESIGN 381 

It has been argued that studying the details of managerial organi- 
zation involves a risk of becoming confused by the political strengths 
and weaknesses of people currently occupying certain positions 
(Chapin, 1957). As a matter of fact, political situations within a com- 
pany do have an important bearing on systems design and equipment 
selection. More narrowly, systems analysis tries to find whether deci- 
sions are based on internally produced facts, externally available facts, 
or merely on hunches; whether decisions follow explicit or implicit 
rules; what concessions in information requirements are made to adapt 
to the existing system and available information; and the durability 
of policy objectives. For example, a shoe manufacturer's specification 
for same-day shipment of complete orders — absolutely no back 
orders — to all retailers, and an airline's demand for answers within 
one minute to most questions about reservations may be fundamental 
business policies and must, therefore, be complied with by any data 
system worthy of serious consideration. 

Changing the policies of a business, so that a problem easier than 
the one originally posed can be solved, may simplify systems analysis 
and design; but it should be undertaken only with full realization of 
the consequences of solving a different problem. Occasionally, systems 
analysis is insufficient or misdirected so that design proposals deal 
with unimportant side issues while leaving main problems untouched. 

Limiting Factors 

Another reason for analyzing an existing system is to find whether 
deficiencies can be attributed to people — managers, supervisors, and 
clerks — or to the equipment in use and the system that has been devised. 

At one extreme, the equipment on hand may be suitable but not 
properly utilized because of limitations in the organization itself, 
in personnel, or in operating procedures. At the other extreme, an or- 
ganization capable of developing and applying efficient methods to 
achieve suitable objectives may not be able to do so because the neces- 
sary equipment is not on hand, or perhaps not even available. 

The question of suitability of equipment and procedures is illus- 
trated by the enumeration aspect of any census. People may use tally 
sheets to classify and count the number of people in each age bracket. 
If punched-card equipment with limited classification and accumula- 
tion capacity is used, the cards may be sorted into categories and 
counted. Given equipment with sufficient classification and accumula- 
tion capacity, such as sorters with accumulating features or electronic 
computers with enough internal storage, the need for sorting before 
counting may be eliminated. Enumeration may be completed with one 
pass of the data. What is a sorting and counting operation on one type 
of equipment may require only a tally, with no sorting whatever, when 
done on equipment with different capabilities. 



382 PRINCIPLES OF PROCESSING SYSTEMS 

The basic point here is that it is necessary to distinguish between 
fundamental objectives and the methods for achieving them, which 
may employ various kinds of equipment with different strong and weak 
points. Important technical changes may lead to entirely new concepts 
of what information can be supplied economically. Early in any systems 
study it is desirable to determine whether greater potential benefits 
lie in improving operations through better use of present equipment 
or by obtaining new equipment. Effort can then be spent in devising 
the most profitable improvements. 

Amount of Improvement 

A data-processing system is analyzed for the same reason that any 
other system is analyzed: to improve it. In general, improvement takes 
one of two forms: (1) either reducing the costs of obtaining and proc- 
essing data, or (2) improving the information obtainable so it will be 
more useful for management. In either case, net benefits are achieved. 
In those cases where system output is not improvable (a correct pay- 
check is only a pay-check), cost reduction is primary. Where the in- 
formation being produced is deficient, the emphasis in systems redesign 
is on getting better information. 

Cost Reduction. Systems analysis is often undertaken to reduce 
the cost of processing measured in dollars, man-hours, and processing 
time. The future costs of operating a system can be reduced by pro- 
viding adequate expansion capacity for meeting future operational 
needs without making proportional increases in financial outlay and 
personnel. A net reduction in either present costs or probable future 
costs will produce smaller total costs in the long run. The ability to 
reduce costs depends, in good part, on the ability of engineers to design 
more efficient equipment and on that of analysts to devise better systems. 

Opportunities for systems improvement are greater when more 
powerful equipment is available and system analysts understand how 
to use it to meet management needs. The final test of the desirability 
of more powerful equipment is whether its additional capacity justifies 
its higher cost. 

Information Improvement. Improving the quality of information 
can be done in several ways: 

1. Accelerate the reporting of results over what is obtainable by other 
means. 

2. Improve the accuracy of results. 

3. Screen out important from unimportant results to increase the infor- 
mation content of reports. 

4. Obtain new kinds of information to meet changing management con- 
trol needs and eliminate duplication in processing. 



SYSTEMS ANALYSIS AND DESIGN 383 

Whether improved information leads to any net benefits for an 
organization depends on several factors. Important benefits may be 
obtained from large improvements in the quality of information. 
Comparison of the quality and quantity of information available 
before and after a system change is an indication of the amount of 
improvement. 

Prospects of Obtaining Benefits 

The benefits described above — reduced cost or improved informa- 
tion — cannot be guaranteed by systems analysis and design, however. 
While managers may have the potential ability to use improved in- 
formation for decision making, they may have to be retrained before 
they can use new and improved kinds of information. 

The actual operations of an organization — purchasing, manu- 
facturing, selling and whatever — must be responsive to decisions in 
order to get the full benefits from improved information and decisions. 
If the quantity and quality of information previously available hampers 
managers trying to control operations, information improvements will 
have far-reaching and beneficial results. On the other hand, the operat- 
ing processes may be hedged about by so many restrictions that few 
changes are possible; in such cases, better decisions based on improved 
information have little ultimate effect, and information systems analysis 
is unlikely to be profitable. 

The amount of possible benefit must be considered in terms of 
the prospects of achieving any particular degree of success — and these 
prospects range from the almost certain to the extremely doubtful. 
The problem of making reasonable estimates of future benefits will 
be discussed further in Chapter 12. 

AMOUNT OF ANALYSIS 

The question, "How much systems analysis?" is most perplexing. 
The amount of analysis that is worth while depends on the prospects 
for improving the situation. Some analysis is required for the sole pur- 
pose of appraising a situation, and some exploratory analysis is required 
before detailed analysis can be started. Beyond this, the merits of con- 
tinuing the analysis must be constantly reappraised. 

There are two extreme situations that may deserve little or no 
preliminary analysis. Well-known opportunities for effective improve- 
ments already exist; in which case it may be better to make changes 
in the system or equipment which exploit such opportunities, rather 
than pursuing further analysis. Observation of the experience of others 
may disclose such opportunities. At the other extreme, the opportuni- 
ties for improvement may be nil. If that is known to be the case, then 



384 PRINCIPLES OF PROCESSING SYSTEMS 

analytic effort should be spent elsewhere. In most cases, the situation 
will lie somewhere between these two extremes — opportunities for im- 
provement will exist, but their precise nature and amount will not be 
known in advance. 

Scope of Analysis 

The scope of systems analysis may be either narrow or broad. A 
data-processing system is always an inter-related whole, but the degree 
of interdependence between its functions may vary greatly in different 
organizations. Since some data-information problems of an organiza- 
tion are apart from and outside the main stream, isolated areas can 
be studied individually, with little regard for how they impinge on 
other areas. Individual steps in larger processes may bear on only the 
preceding and following processing steps. The initial step — data 
origination methods — may bear on data input only. More often, data- 
information problems are in the main stream of processing and must be 
studied in relation to their over-all effect. Inventory control, for in- 
stance, is closely related to purchasing, production scheduling, cata- 
loguing, financial administration, and other functions. 

The selection of either a narrow area or a broad one for systems 
analysis and design is basic to sound, efficient work. One factor in 
making this choice is the degree of satisfaction with existing methods. 
The whole system may fail to meet demands for information so that 
full-scale analysis on a broad front and complete redesign are required. 
Another factor is that isolated operations may be handled in an un- 
satisfactory fashion; when this is so, narrow or sharply focused analysis 
is an efficient way to deal with the particular problem areas. 

Another factor bearing on the desirable extent of analysis is the 
nature of changes in equipment. New gadgets and even important 
developments of individual pieces of equipment may be best dealt 
with by narrow analysis. New input devices may affect the way that 
data are originated but nothing more. On the other hand, important 
equipment developments bear on the whole data-information system 
for an organization. Broad analysis is imperative for efficiently match- 
ing the equipment and the system. Anything less may force them to- 
gether without realizing the potential benefits of broader analysis 
in depth. 

Inquiry. Many situations deserve some inquiry merely to find 
whether further analysis seems worth while. This is analagous to the 
initial step in the traditional recipe for making rabbit stew: catch 
a rabbit. Countless situations may deserve initial examination. From 
all the possibilities that exist, some can be selected for study. Analysts 
and management may use various criteria for selecting areas for in- 
quiry. Problem areas that are plagued by high costs or unsatisfactory 



SYSTEMS ANALYSIS AND DESIGN 385 

results deserve reconsideration from time to time, for there is always 
some prospect of a breakthrough that will lead to big improvements. 

New equipment developments promise reductions in the cost of 
processing, improvements in information, or both. Important develop- 
ments in equipment and systems should be studied by both staff and 
operating personnel to take full advantage of improvements as they 
become available. Applications considered troublesome, and others 
that are borderline cases, deserve another "look" when equipment 
and systems change. High-volume, complex, or urgent requirements 
deserve prime consideration. 

The leader in any field must conduct his own initial inquiry, even 
though exploration is expensive because many paths of inquiry turn 
out to be blind alleys. The study of some areas may be discarded be- 
cause initial inquiry overlooks opportunities not disclosed by the first 
round of study. The firsthand experience gained by initial study is 
valuable for later guidance, if it is possible to avoid having each mis- 
take become an albatross. The follower has a simpler problem. Ob- 
servation of the initial studies made by others may permit skipping 
the inquiry sjtage and going directly to analysis in depth. Merely to 
know that something works, even though the precise method is not 
known, eliminates much of the uncertainty from the early stages of 
inquiry. 

Analysis in Depth. Systems analysis in depth is worth while 
if initial inquiry indicates that there are good opportunities for im- 
provement. The logical, tentative conclusion is to continue the study 
in more detail. This discussion, remember, deals with why analyze 
a system and, if so, how much. The how of systems analysis is con- 
sidered later in this chapter, and the tools for systems analysis are 
covered in Chapter 14. 

The perplexing problem of how much analysis is worth while 
continues throughout the analysis-in-depth stage. The value of more 
analysis is not entirely clear until after it is done, at which time it is 
too late to modify the course of the study already finished. 

Analysis in depth is a sequential process. The findings at any stage 
may influence the future course of study. At any time it is possible 
to cut off further study, if it does not appear to be beneficial. Con- 
tinued analysis is useful if the cost of additional study is likely to be 
covered by prospective improvements. Costs continue to pile up at 
controllable rates over time so that the total amount is predictable, 
if schedules are maintained; but estimating the margin of improvement 
is more difficult. At any stage a new breakthrough may occur so that 
possible improvements are much larger. Additional study may merely 
narrow the margin of inaccuracy in estimates and not otherwise change 



386 PRINCIPLES OF PROCESSING SYSTEMS 

the results of a study, or additional study may show that earlier esti- 
mates of improvement were over-optimistic. Prospective improvements 
must then be scaled down because of mistaken estimates or subsequent 
changes in the equipment or the system. 

Further analysis in depth is most valuable when prospective im- 
provements are still changing rapidly, and especially when improve- 
ments are increasing faster than the costs of analysis. Analysis needs 
to be carried far enough to reduce the margin of inaccuracy in the 
estimates of benefits obtainable. Furthermore, the prospects for re- 
alizing any particular amount of benefit need to be estimated with 
some certainty. Continued analysis is no longer warranted when the 
estimated improvements are not increasing as fast as the cost of study. 

Other methods of processing data should be compared, if feasible, 
with the method under analysis. The most fruitful area or areas should 
be selected for action. 

Cost of Analysis. The outlay made for analysis, both initial 
and intensive, should be related to the effective improvements likely 
to be obtained. Costs are controllable, in some sense. A certain number 
of people can be assigned to systems analysis so that the outlay per 
period is fixed. If the work stays on schedule, total costs meet the 
budget. Routine systems analysis can be scheduled because most of 
the factors involved are known. 

Research and development to devise radically different systems 
or to use new equipment is more difficult to plan and keep on schedule. 
There is a tendency for work to progress smoothly almost to the point 
of completion and then bog down. Specific tasks seem difficult to com- 
plete. Furthermore, there is always a tantalizing prospect that by a 
little more work analysts will discover or invent a vastly superior sys- 
tem. These two factors — the inability to complete analysis on schedule 
and the prospect of new discoveries — may cause systems analysis costs 
to exceed the budget by huge amounts. 

Detailed analysis of systems is expensive in both manpower and 
elapsed time. Mammoth projects can result from ambitious plans to 
make detailed studies preparatory to introducing automatic systems. 
Such projects may be discontinued because of the huge expense and 
time involved, doubt as to any carry-over value after introduction of 
new techniques, and personality or jurisdictional disputes between 
systems analysts and people throughout the company. The costs of 
analysis and prospective improvements are so closely inter-related 
that careful estimation of results is required to get optimum results. 

Duration of Analysis. Systems analysis should be done over an 
appropriate period of time in order to gain by the efficient introduc- 
tion of changes. 



SYSTEMS ANALYSIS AND DESIGN 387 

Big improvements should be exploited as early as possible; but a 
long time is required to devise and introduce important changes. On 
the other hand, trivial improvements can be made quickly, but there 
is no pressing reason to do so. A paradox results: slow, deliberate an- 
alysis is suitable, if improvements are likely to be trivial. Unimpor- 
tant changes can be installed "tomorrow" with no great loss from post- 
ponement. 

Analysis takes less time if analysts know the present system and 
are familiar with the equipment that will be used. A cooperative spirit 
throughout the organization also speeds analysis. No system, data 
processing or otherwise, is static, although the rate of change may 
be fast or slow. Quick analysis is imperative, if the rate of change is 
high, for studies need to be completed and recommendations put into 
effect before further changes occur. Analysis and recommendations 
that take so long to implement that the conditions on which they are 
based no longer exist are obviously not suitable for installation. 

Similar remarks can be applied to the rate of equipment change. 
Rapid changes in equipment demand quick analysis in order to use 
a particular model. It is possible to skip from one model of equipment 
to another, if models change before analysis is complete. Furthermore, 
it may be easier to switch to newer equipment than to revise an out- 
of-date systems study because of changes in the structure of the system. 

Experience. Current business literature describes the "on-the- 
record" experience of many companies in installing data processors. 
"Off-the-record" conclusions are, of course, not published, although 
they may be discussed privately. Company representatives often say 
that the advance planning was neither complete nor sound. Some 
computers stand partially or even completely idle for months while 
suitable instruction routines are developed, operating people trained, 
and many other problems solved. Wrong equipment is obtained in 
some cases and poor applications are made in others. Complete and 
careful advance planning would avoid many of these problems or at 
least improve the solution obtained. 

Careful planning is conceded to be important, but it may get 
boring after a while, for the hustle and bustle of installing and using 
new equipment is more fascinating than hard thinking, despite the 
admonition of the placards on every wall. During the early stages of 
installation, troubles may snowball and the pressure of immediate 
problems force aside long-range planning. Here, as elsewhere, a series 
of short-range solutions does not necessarily make a good long-range 
plan. When troubles pyramid, the value of systems analysis and plan- 
ning are clearer than ever. 



388 PRINCIPLES OF PROCESSING SYSTEMS 

Analysis of Present Methods 

Great emphasis is often placed on analyzing and appraising the 
present methods. Detailed flow charts may be prepared to study the 
existing system, isolate checking procedures, and eliminate unneces- 
sary duplication. The cautious approach, which is to study the present 
system carefully before proposing changes, has value if existing meth- 
ods are not to be altered greatly. The value of detailed study of the 
present mechanized system declines if radically new techniques and 
structures will be introduced. 

The notion is widely held that substantial benefits can be derived 
solely from the analysis of existing methods in the light of new tech- 
niques, even though they are rejected later. On the other hand, there is 
reason to believe that greater benefits are obtainable from formulating 
and appraising the future system in terms of future techniques than 
from dwelling on the system that is likely to be discarded. You don't 
learn how to make rockets by studying airplanes. 

Analysis of present methods has several well-known characteristics. 
A data-processing system changes continuously under the influence 
of new demands for information, the experimental urge to improve, 
and the difficulty of keeping a widespread system under absolute con- 
trol. It is difficult to determine, at any one time, both the status and 
direction of change for a business-data system. Systems involving 
people are likely to change just because they are examined; merely 
asking a person why he does something in a particular way may cause 
him to change his method. 

Limits to Analysis 

Some warnings concerning the extent and intensity of systems 
analysis must be raised here. A quick analysis is warranted in areas 
where important changes are to be made: first, because the available 
benefits should be obtained sooner rather than later; and second, be- 
cause the new system will be sufficiently different from the old one 
(which will be largely discarded) that detailed examination is of little 
value in designing the new system. Systems studies involving many 
man-years of work have, on several occasions, been halted before com- 
pletion because of the cost involved, the postponement of any changes 
until after completion of the study, and the subsequent inapplicability 
of detailed knowledge when radical changes were in prospect. 

There are other reasons for limiting analytic work on the present 
system. Such analysis focuses attention on what is being done now, 
even though poorly, instead of concentrating on what should be done 
but is not being attempted because it is more difficult. Parallel to this, 
analysts may develop a limited-range view and narrow breadth of 
vision because today's problems seem overwhelming. 



SYSTEMS ANALYSIS AND DESIGN 389 

A further reason for limiting analysis of the existing procedures 
is that systems in use for a long time reach their limits of improve- 
ment with the existing combination of manpower, equipment, and 
mode of operation. For example, analysts of post office operations 
have concluded that manual sorting methods offer so little opportunity 
for improvement that effort should be directed toward devising entirely 
new schemes (Rotkin, 1958). More improvement is thought possible by 
discarding elements of the old system and starting afresh. 



AREAS TO STUDY 

The questions, "Why analyze," and "How much analysis," were 
considered above. The questions to be asked if prospective improve- 
ments warrant further analysis are listed here. These questions relate 
to both the data-information system and its equipment. 

Operations and System 

Systems improvements may be quite narrow and affect data-proc- 
essing activities alone. On the other hand, they may be so broad as 
to impinge on all operations of the organization. Pertinent questions 
to ask about operations are: 

1. What improvements in information are useful? 

2. Are cost reductions possible in data processing? 

3. Are improvements possible in the over-all operations of the organi- 
zation? 

4. How much analysis — in terms of cost, manpower, and time — is suit- 
able for present and proposed systems? 

5. What is the effect — disruption, retraining, and adjustment — of the 
new system on people? 

6. Which applications have priority for analysis? 

Equipment 

An entirely different set of questions is pertinent for analyzing 
equipment that is available or may be designed to meet requirements: 

1. How much study is needed to understand equipment for both selec- 
tion and application purposes? 

2. What improvements are possible as a result of introducing the newest 
equipment? 

3. What varieties of equipment and what scale — large, medium, or 
small — are most suitable? 

4. Should equipment be able to handle any application or merely 
specific applications? 



390 PRINCIPLES OF PROCESSING SYSTEMS 

5. What is the cost to obtain, install, apply, and operate selected equip- 
ment? 

6. What non-hardware support will the equipment manufacturer fur- 
nish in the way of training, analysis, design, and programming? 

Comments made earlier about the initial inquiry and analysis 
in depth apply to questions about data-processing operations and 
equipment. A cursory examination or screening is useful as a first step 
in answering any questions. The results of such an initial inquiry into 
the prospects for improvement and the probable costs of analysis 
should determine whether a particular area deserves analysis in depth. 

SYSTEMS APPROACH 

Many procedures exist for answering questions about data-proc- 
essing operations and equipment. An orderly plan for analysis is pref- 
erable to haphazard action. Facts, numbers, and quantities are 
preferable to opinions, words, and qualitative statements. Good sys- 
tems analysis must, at some stage, use a broad approach to avoid the 
difficulty of confusing discrete points and over-all patterns — the age- 
old problem of the trees and the forest. 

The systems approach views each problem as a whole rather than 
as bits and pieces. An automatic data-processing system derived by 
careful systems analysis can achieve many economies, for it can vir- 
tually eliminate duplicate files, parallel processing work, and redun- 
dant reports. 

Structure and Technique 

Any system can be examined in terms of structure and technique. 
The term "structure" is used to cover the nature of managerial or- 
ganization, the origin and type of data collected, the form and des- 
tination of results, and the procedures used to control operations. The 
structure depends on: 

1. The organization and nature of the decision-making process 

2. The flow plan — on-line, in-line, off-line — used for processing data 

3. The frequency of reporting, length of reporting period, and delay in 
report preparation 

4. The type of processing scheme — consolidated or fragmentary 

5. The methods for handling exceptional situations 

6. The degree of centralization of data-processing operations 

The "technique" of a data-processing system refers to the tech- 
nical aspects of the method used to originate and process data in order 
to furnish information in some useful form. Features of a system 
covered by the word "techniques" are: 



SYSTEMS ANALYSIS AND DESIGN 391 

1. The amount and type of data-processing equipment used 

2. The methods of programming equipment and instructing people to 
perform operations 

3. The number of record files 

4. The arrangement of data within files 

The introduction of automatic data processing may change tech- 
niques drastically because new and entirely different equipment is 
used. Changes in the structure of processing may, within broad limits, 
be either important or trivial, according to the user's vision and 
courage. 

Combined Changes. A change in either the structural or the 
technical aspects alone seldom results in the best system achievable. 
More efficient systems can be obtained at less cost by changing both 
factors. Whether to change the structure or the technique first is usu- 
ally not important if system changes occur slowly. When equipment 
changes rapidly, new techniques tend to be adopted faster than 
changes in the structure; this is due to the rush to obtain new equip- 
ment, reluctance to disturb the existing structure for fear of slowing 
the introduction of new techniques, and the ease of introducing new 
techniques. 

Important structural changes in a system without corresponding 
changes in technique are probably uneconomical, if not impossible. 
For example, a business using many individual files for record keep- 
ing would be foolish to try to combine all files into one file (or even a 
few files) unless the technique for file processing were greatly altered. 
Minor changes in structure may be made in preparation for a change 
in techniques, although such changes may seem uneconomical when 
first made. Making them may speed and simplify transition to the new 
system when the technique is later changed. There are many ways 
to change from the existing combination to a new combination of struc- 
ture and technique. One possibility is to change both at one time and 
move directly from the present to the proposed system. It may be pos- 
sible to try to change either the structure or the technique alone with- 
out changing the other, but any important change in one will probably 
be accompanied or followed by some change in the other. 

Another possible transition is to keep fixed, or nearly fixed, either 
the structure or the technique and change the other to a position some- 
where between the existing and the desired arrangements. The other 
factor is then modified in a second step to achieve the finally desired 
arrangement. The first factor can be changed from its intermediate to 
its final position. 

At the risk of oversimplification, Figure 11-1 shows two paths 
for changing from the present to the proposed system. Representing 



392 PRINCIPLES OF PROCESSING SYSTEMS 

the structure and technique along individual axes is an oversimpli- 
fication. Each consists of many factors so that more than two dimen- 
sions are required to cover all factors. Two dimensions merely hint at 
the basic idea. 



Z Proposed 



Structure 




System 



Present X 
System 



> Y Intermediate 
Position 



Technique 
Figure 11-1. Structure and technique change routes 



The diagonal line from X to Z indicates simultaneous change. 
One or more stopping points along this route are possible, to consol- 
idate the benefit of changes already made. The two-stage change route 
stops at an intermediate position Y, after changing the technique of 
processing data, until the results of the first change are consolidated. 
The structural arrangement is then changed to the desired objective. 
An alternate path, not shown in Figure 11-1 and seldom followed in 
practice, is to change the structure first to reach an intermediate posi- 
tion and then move to the proposed system. 

Postponement of Structural Changes. An alternative to making 
combined changes is to adopt the new techniques first, making only 
the minimum structural changes required. This approach can telescope 
the time required to get new equipment into operation. Little time is 
spent initially to develop new procedures or organizational structures. 
After new techniques are in use, attention can be turned to structural 
alterations. 

There are advantages to introducing equipment first and post- 
poning structural analysis and change until later. The work and confu- 
sion of simultaneously installing equipment and changing the technique 
are minimized. Many jobs performed by people in the old system will 
be performed by equipment after it is installed. A system reduced 
to instruction routines for equipment is easier to define and examine 



SYSTEMS ANALYSIS AND DESIGN 393 

than a manual system. Equipment instructions can provide for gather- 
ing data about transactions, which can be used in analyzing and modi- 
fying the structure. In short, the computer can be used to analyze the 
system for the purpose of planning structural changes. 

Present Tendency. System developments now occurring reflect 
large, rapid changes in techniques and only gradual changes in the 
structure of data processing. It is not yet clear whether new systems 
will stabilize and become rigid or will remain flexible enough to permit 
further changes. There is a widespread tendency to consolidate an 
intermediate position and resist further changes. Even revolutionary 
groups demand a status quo as soon as the first revolution is over — 
"one revolution and no more." 

Some organizations undertake a basic re-engineering of existing 
operating procedures that may result in important structural changes; 
some of these structural changes, however, are often unplanned, and 
occasionally unwanted. 

Centralization of data processing may increase in the future. The 
degree of centralization used at any time reflects a balance between 
the costs of transmitting the mass of raw data for centralized process- 
ing and the costs of decentralized processing with transmission of sum- 
marized results. Improvements now occurring in communications will 
facilitate centralization of processing. Improvements in decision 
making are expected to result from new developments in data process- 
ing and management science. The remaining question is whether, and 
how rapidly, the new opportunities will be exploited by business. 

System Selection 

The precise criteria employed for selecting one system and re- 
jecting others are seldom stated. It is often difficult to find what rea- 
sons caused people to follow a certain course of action. The factors 
that determine the design of a future system are: 

1. Information and data requirements 

2. Nature of the existing system 

3. Current technology of equipment 

Information and data requirements are the most important deter- 
minants of system design. The system should be designed to meet in- 
formation requirements, although this objective may be difficult to 
achieve in practice. Systems analysis and design often concentrates 
on studying the existing system rather than establishing data and infor- 
mation requirements for the future without regard for prior limitations. 
There is a strong tendency for a new system to resemble the existing 
system to a greater degree than it fulfills future requirements. In short, 
it is probably easier to solve yesterday's problems than it is to formulate 
tomorrow's problems, apart from considering how to solve them. 



394 PRINCIPLES OF PROCESSING SYSTEMS 

More emphasis is often put on document processing — payroll, 
billing, and accounting — than on information generation for manage- 
ment control — what to produce, where to sell, and what price to 
charge. The structural arrangement of systems that emphasize docu- 
ment processing has remained basically the same for a century or so 
(Gregory, 1956). During that time, processing techniques have changed 
from manual to electromechanical to electronic. 

The current state of technology is a severe restriction on equip- 
ment selection. The cost of major design changes to meet particular 
requirements is so high that such changes are seldom made by manu- 
facturers, though often requested by users. Occasionally, a manufac- 
turer and customer jointly develop special equipment, but special 
equipment often contains mostly standard components. As a general 
rule, the user is restricted to equipment that is commercially avail- 
able now or within the next few years, unless he is willing to pay for 
equipment research and development. 

Structure and Equipment. Changes in data-processing tech- 
niques may require large structural changes in the system. Processing 
schemes designed for manual or punched-card systems may be unsuit- 
able for automatic systems. The delay involved in getting control in- 
formation and the high cost of calculation and logic are two features 
of present systems that should not limit future systems. 

Daily operating information is often obtained by informal methods 
aimed at meeting day-to-day needs. The formal reports that follow 
later may be limited to after-the-fact control and to showing long- 
term trends. Examination of the present structure may reflect only 
the information that can be supplied under the restrictions imposed 
by the old technique instead of what would be required to meet the 
basic demands for information. In view of the inherent limitations, 
improved techniques also call for structural changes in order to develop 
an efficient system. 

Inventory control procedures, for example, may require knowl- 
edge about the quantity on hand when decisions are made. One-fourth 
of all items might be reviewed each week when the records are kept 
by hand; stock clerks make these reviews by studying the records, 
staggering the reviews to keep down the workload. Automatic pro- 
cedures might reduce the review time from a week to an hour, so that 
a cycled review plan is no longer necessary. Complete inventory re- 
view might be made at some desired interval — daily, weekly, or 
monthly — and new re-order points, based on current usage, computed 
during the review. 

An ideal system would give management all useful information 
at the exact time it is needed. As processing techniques improve, the 
resulting structures will come closer to giving ideal information. The 



SYSTEMS ANALYSIS AND DESIGN 395 

value of information produced should increase with improved accuracy 
and timeliness, while processing costs should decrease. 

Optimal System. An optimal system is the best that can be de- 
signed under any circumstances; but this is not a working definition 
because people interpret "best" in different ways. It is more useful 
to define an "optimal system" as the one that comes closest to ful- 
filling the selected system objectives that are the real yardstick for 
evaluation. 

A wide variety of objectives exists. A common objective is to maxi- 
mize the excess of value over cost, that is, to maximize profit. The sys- 
tem output may be specified and fixed so that the objective is to operate 
as inexpensively as possible, that is, to minimize costs. When both 
the task and the method are specified, the value is fixed and minimum 
cost is identical with maximum profit. If there is any freedom for per- 
forming the task, minimizing costs may lead to different results from 
those of maximizing profit; that is, the least expensive procedures may 
not result in the greatest excess of value over cost. 

A common short-range goal is to reduce the cost and time for 
processing. Improvements are first applied at points where volume, 
complexity, or urgency presents opportunities for substantial savings. 
Initial applications will develop knowledge and skills essential to an 
eventual integration of systems. The long-range goal may be to apply 
advanced data-processing techniques throughout the system from 
origination of data to their ultimate use at all levels. More specific 
objectives used for data-processing system design are these: more ac- 
curate, timely, or complete reports; experience in using a new tech- 
nique; increased job satisfaction; and reduced paper work. Immediate 
benefits may be difficult to measure, but these objectives maximize 
profit in the long run. 

If no objective is agreed on and each individual involved develops 
his own, conflicts, cross-purposes, and confusion result. Selection of 
and agreement on a common objective increase the efficiency of systems 
analysis and design. 

Sub- optimization. Many managers say that their objective is to 
maximize profits, although profit maximization is a policy objective 
rather than an operating objective. The value, as described in Chap- 
ter 10, is often an intangible that is difficult to measure; and costs are 
complex because of average, joint, and marginal aspects. The cost of 
processing and the value of information may be affected by too many 
factors to permit complete evaluation in a reasonable time. 

A practical approach is to select and pursue an operating objec- 
tive that goes in the same direction as the over-all policy objective. 
Operating objectives are the concrete plans for action; they are made 
despite the risk that they may fulfill only a part of the policy objective, 



396 PRINCIPLES OF PROCESSING SYSTEMS 

or may even go in the wrong direction and result in a condition called 
"sub-optimization.'' For example, a policy objective might be to re- 
duce the monthly telephone bill. One operating objective might be to 
limit the time for each call. This course may reduce costs only slightly, 
since the minimum time charge is fixed and brief calls may lead to extra 
calls. A better operating objective might be to reduce the number of 
calls by transacting more business on each call, or by writing more 
letters. 

The selection of operating objectives is important and should be 
examined carefully to see that they lead in the same direction as the 
policy objectives. Efficiency will be greater if every member of a project 
group knows the group's policy and operating objectives. 

SYSTEMS DESIGN 

Design of a new system depends on sound work, but more than 
mere fact gathering is involved; a certain amount of creativity, in- 
genuity, or inventiveness is essential for devising an efficient system. 
Entirely new schemes may be necessary to match management's re- 
quirements with the available equipment and the capabilities of 
personnel. 

System design is discussed here in terms of fact finding, develop- 
ing specifications, meeting specifications, and matching equipment 
with the system. The closely related areas of system installation and 
follow-up are important enough to deserve separate coverage: analytic 
tools and methods are covered in Chapter 14, and system installation 
and review are discussed in Chapter 17. 

There are many ways to study the operation of a system. Reading 
the operating manual and discussing objectives with top-level people 
will help one discover how a system is supposed to operate. Discussing 
methods and procedures with operating personnel and observing first- 
hand what actually happens will bring one much closer to understand- 
ing how a system actually works. 

Systems Objectives 

Systems objectives are established by upper-level management 
with advice from the people directly involved at all operating levels. 
Realistically, such objectives are tempered by the ability of the or- 
ganization to fulfill them. The long-run, fundamental objectives, not 
just short-run goals, should be spelled out. A change in either the prob- 
lems encountered or the capability of the system may sometimes alter 
the short-run goal without changing the long-run objectives. 

Some objectives of a data-processing system may be stated ex- 
plicitly, whereas others are implicit and can be ascertained only by 
discussions with management and operating personnel or by observing 



SYSTEMS ANALYSIS AND DESIGN 397 

how the system operates. System objectives are reflected by the re- 
ports prepared, time schedules followed, data stored for future use, 
and areas receiving the most emphasis. 

Sources of Facts 

The rules can be learned by studying operating manuals, which 
tell what is supposed to be done, and by observing the procedures in 
operation to find what is actually done; the actual mode is often dif- 
ferent from the prescribed mode. Discrepancies arise because some 
improvements developed in practice are not yet formalized in the op- 
erating manuals. Many procedural variations occur unobtrusively, 
as if by erosion, so that people are unaware of the need to change the 
written procedures to conform with their practice. 

The starting point for fact finding about a manual system might 
well be the final reports prepared for management and the documents 
issued to operating personnel; these reflect, in the simplest terms, what 
outputs are being demanded from the system. Operations involved in 
processing can be traced back to initial transactions by way of sum- 
maries, working sheets, files, calculations, and intermediate papers. 
Specimen blanks and completed copies of all documents can be ob- 
tained to indicate the nature and origin of the source data. The pro- 
portion of ordinary and unusual transactions is an important deter- 
minant of data conversion and processing loads. Any planned systems 
analysis should consider similar work still current enough to have va- 
lidity; surveying the experience of other companies can provide the 
benefits derived from understanding their successes and failures in 
similar areas. 

Systems Specifications 

The starting point in developing systems specifications is the set 
of requirements imposed by management. The initial list of informa- 
tion requirements may describe what is wanted with little or no regard 
for the feasibility of supplying such information or the costs involved 
in gathering and processing the requisite data. Initial proposals for 
information to be supplied may, upon examination, prove to be so 
vague that analysts must reduce them to operating terms. On the other 
hand, initial proposals may be unrealistic because the value of the infor- 
mation obtained will not exceed the processing costs. Realistic targets 
are established by first weighing the costs and values for many possible 
systems and then selecting the one with the largest excess of value 
over cost. 

Stating the objective of system design as the maximization of net 
benefits (excess of value over cost) serves as a fundamental specifica- 
tion for system design, if the value of information output can be 



398 PRINCIPLES OF PROCESSING SYSTEMS 

measured in monetary terms against the corresponding costs of proc- 
essing. Some valid concepts exist, but, lacking any general theory of 
the value of information, it is customary to describe a number of minor 
objectives for a system — despite the risk that focusing attention on 
the minor design criteria may result in a sub-optimal system. Sub- 
sidiary specifications commonly used for system design can be classified 
as follows: 

1. Information output — report content, timeliness, frequency, format, 
focus, and distribution; ability to answer preplanned and unantici- 
pated random interrogations; and mode and language for commu- 
nicating with company management, operating personnel, and 
outsiders. 

2. Organization — who receives the output; who is responsible for origi- 
nating and processing data, personnel required, and changes involved. 

3. Equipment and costs — nature and performance of equipment; invest- 
ment in equipment, facilities, and preparation (analyzing, designing, 
programming, and testing); installation and conversion; new relation- 
ship of fixed and variable costs; work loads and expandability to 
cover an increased volume of work; and flexibility to handle new 
applications. 

4. Safety features — quality of input data; detection and correction of 
mistakes and errors; safeguards against manipulation of data and 
processing operations; ability to trace operations and reconstruct 
results; and the length of time and method of keeping transactions 
and files. 

Since there is no easy way to combine these specifications into a 
single number, it is difficult to balance or trade off one against another. 
Consider, for example, the problem of whether an improvement in the 
ability to interrogate files is worth having at the risk of, say, an in- 
creased opportunity for manipulation of data in files. 

Meeting Specifications 

Specifications developed for a proposed system may require com- 
puters and related equipment, new schemes for getting data into 
processable form, consolidation of files, and revision of reporting and 
question-answering services. More often, however, many features of 
an existing system carry over with only limited changes. 

Areas of Freedom. One approach to systems design is to start 
with output requirements and then determine what processing proce- 
dures and input data are required for preparing that output. The op- 
posite approach is to determine what input data will be available and 
devise processing procedures to fulfill the output requirements. These 
two approaches may appear to be in conflict, but they are reconcilable 



SYSTEMS ANALYSIS AND DESIGN 399 

in being applicable to different levels of system design. The general 
formulation of a system may focus on the output to be obtained, with 
little regard for the methods involved and data required. Filling in 
system details, however, requires equal care for all stages from the 
origination of data to the final output. 

A different approach to fulfilling systems specifications is to start 
with the areas where freedom to change is restricted. Areas that have 
a wide latitude for redesign are handled later when the difficulties of 
fitting all loose ends together will be much greater. Working from 
constrained areas toward free areas reduces the number of complete 
revisions of plans that may be required to make the system meet the 
conditions imposed. 

An example is useful to illustrate the idea of the degree of freedom 
in system design. A company that issues travelers' checks may want 
to mechanize the handling of checks that clear through banks for 
payment. The appearance of travelers' checks — their color, size, style, 
and paper — is so important to their widespread acceptance that the 
company may specify that no changes in check appearance will be per- 
mitted. Given this constraint, one plan used for mechanization is to 
pre-print small dots in metallic ink to indicate amount, check serial 
number, and identification of the issuing agent. The dots blend into 
the pattern printed on the check and do not change it perceptibly. 
This approach requires special equipment to handle the paper and 
"read'' the dots for automatic processing. On the other hand, bank 
customers — and, to some extent, banks themselves — feel free to use 
paper documents, including checks, in a wide variety of styles, sizes, 
and papers. Since banks accept the right of depositors to use non- 
standard checks (although upper and lower size limits are suggested), 
they are unwilling or unable to impose a high degree of standardiza- 
tion. This policy has led to the development of equipment to print 
magnetizable ink characters on non-standard-size commercial checks 
for both machines and people to read and use. The point concerning 
system constraints is that they must be observed in order to solve the 
problem as originally posed. Relaxation of the constraints may make 
solution much easier; but improper relaxations may result in solving 
an unintended problem. 

In general, more stringent limitations are likely to exist on the 
freedom to change the input and output than on the freedom to modify 
processing methods. Furthermore, constraints are likely to be tighter 
for intercompany than for intracompany input and output. Constraints 
on the freedom to change the system are relative, in the sense that 
they may be removed quickly if the benefits of a change clearly out- 
weigh the costs involved. In any event, systems change slowly over 
time even though they are considered immutable. At the risk of seem- 



400 PRINCIPLES OF PROCESSING SYSTEMS 

ing obvious, it should be pointed out that some freedom must exist 
in designing a new system in order for it to be at all different from the 
old. Lacking any freedom to change, the new system becomes identical 
with the old. 

Form Flow. The myriad facts gathered about systems opera- 
tions must be structured in order to be comprehensible. One method 
for organizing facts is to trace the flow of data for a transaction from 
origin to final destination. This method is commonly used in analyzing 
manual systems to show where papers originate, where each copy is 
sent, briefly what operations occur in each department, and final dis- 
position of each copy. Large sheets with a column for each depart- 
ment and a row for each form can show the flow of documents by means 
of brief narratives or symbols to represent the movement of documents 
between and within departments. Form flow analysis furnishes a quick 
over-all view of how forms are handled without covering the details 
of each operation. Flow analysis tends to focus on the usual or typical 
case because graphs become too complex if many variations are han- 
dled. In analyzing the flow of forms it is necessary to cover a period 
that is long enough, such as a year, to encounter forms used only inter- 
mittently. In fact, the content and preparation of infrequently used 
forms will control, to some extent, shorter-term processing. If no flow 
chart is available, "dummy documents" may be prepared and traced 
through operations for fact-finding purposes. 

Analysis of clerical work is complementary to a study of form 
flow for observing what happens in processing data. Work analysis is 
an intensive study of (for example) the processing involved in check- 
ing a customer's credit before accepting his order, and it is more likely 
to uncover unusual operations than is a study of form flow. 

Process Charts. A process chart, which is a pictorial representa- 
tion of a selected area of data processing, specifies the output results 
wanted, the input data required to produce the output, and the general 
processing steps needed. 

The set of symbols used for preparing process charts is related, 
in a general way at least, to the equipment proposed. A symbol for 
each of the following is commonly used: 

1. File — magnetic tape, punched card, or punched tape 

2. Run — rectangle containing a brief explanation of the operations in- 
volved to process files or transactions 

3. Output — report from line printer, character printer, punched card, or 
punched tape 

4. System flow — solid line for flow of data from one run to the next 

5. System cycle — dashed line for output of current run to use as input 
in the next cycle of the same run 



SYSTEMS ANALYSIS AND DESIGN 401 

6. Conversion — card to tape, paper tape to magnetic tape, and vice 
versa 

7. Data origination — key-punch operation, by-product of other manual 
operations, or automatic character readers 

The size of each record item, number of items, number of reels in 
file, file identification name, and cycle frequency can be indicated on 
each process chart. 

A process chart showing the basic operations in file maintenance, 
whereby changes (such as transfers, new hirings, terminations, and 
new data) affecting employees are first sorted and then introduced 
into the main file, is given in Figure 11-2 (Univac II, 1957). 




Run 1 



1 . Sort items 




Figure 11-2. File maintenance, basic operations 



402 PRINCIPLES OF PROCESSING SYSTEMS 

The chart for maintenance of the employee data file is representa- 
tive of the general class of file maintenance. Changes are sorted into 
the same sequence as items kept in the master file. One or more types 
of changes and the master file are handled together to prepare lists of 
deletions, to update the master file, and to carry forward any items 
that require further processing in the next file maintenance run. Trans- 
fers of records within a file pose an interesting problem. Forward trans- 
fers — an employee moved from department 14 to 36, for example — 
can be handled completely in one run by deleting the employee's record 
from the file for department 14 and inserting it into the file for de- 
partment 36. A backward transfer, from department 40 to 8, however, 
would involve selecting the employee's record from the file for depart- 
ment 40 in one run, placing it in temporary storage for sorting, and 
then introducing his file into the records for department 8 on the next 
maintenance run. The master file resulting from one maintenance run 
is, of course, used as input in the next run. The problems arising from 
trying to keep a file in departmental sequence can be avoided by or- 
ganizing the file without regard to departments. File maintenance is 
characterized by additions, deletions, transfers, and other changes 
in file records that involve few, if any, computations. 

Processing runs are similar to file maintenance runs except that 
transactions (hours worked, for instance) are processed with the master 
file to compute pay and labor distribution, which may be processed 
for further computations and output in a subsequent run during the 
same cycle. Unmatched items that arise because of incorrect identi- 
fication numbers are listed for follow-up. 

An important factor in designing file maintenance and processing 
runs, which are handled together in some systems, is the frequency 
of updating the master file. Some applications — as weekly payroll — 
have an upper limit of processing. In other cases — inventory control, 
for example — more freedom exists to choose the frequency of process- 
ing, and a fraction of the file may be cycled each day in order to handle 
the whole file within a week. Cycled processing smooths the work load 
over the week and reduces master file handling from five times to once 
a week for inventory control. Selecting the optimum processing scheme 
in terms of frequency and cycling requires matching the increased 
work load of more frequent processing against the added value of ob- 
taining more current results. Since processing costs may increase 
rapidly as more timely information is demanded, it is necessary to 
guard against allowing them to outrun increases in the value of infor- 
mation obtained. 

Flow Charts. Flow charts use conventions, symbols, and abbre- 
viations to outline the elementary logical steps of processing opera- 
tions. They are an intermediate stage in developing the detail required 



SYSTEMS ANALYSIS AND DESIGN 403 




Magnetic tape 



/ 




A + B = C 






i 


Is E minus \ 

,>, °, < aJ 








f Increase "\ 
i^EbyOSOOy/ 



Card 



Group of operations to be 
treated as one block of in- 
structions 



Determination of a condition 
or comparison of two values 



Instruction modification 
blocks 




Console 



Console operations to handle 
programmed stops or error 
conditions 



© 



Table look-up operation 



>o— ► 



Connection of fl 



ow 



>© ©■ 



Continuation of flow 



Figure 11-3. Flow-charting symbols 



404 PRINCIPLES OF PROCESSING SYSTEMS 



\v- 



to reduce processing plans to operating reality. Widely used flo 
charting symbols are shown in Figure 11-3. 

An example of an over-all flow chart or block diagram prepared 
for the calculation of pay using magnetic-tape input and output is 
shown in Figure 11-4 and following (Problem Planning Aids, 1956). 
The over-all block diagram represents the major components of the 
problem. The scheme employed here uses a closed loop for all parts 




Block 10 



Develop & 
Store 
Gross Pay 



Block 20 



Develop & 
Store 
Gross Pay 



Block 30 



Develop & 
Store 
Gross Pay 



(Yes}— (^Salary Pay? ) 




-j (Yes)— (^Hourly Pay? ) 




\ Yes ) — (incentive Pay?J 




Block 60 



Block 40 



Develop & Store 
Deductions, Net 
Pay, Year-to- 
Date, Crossfoot 



Block 70 
Error 





Figure 11-4. Over-all block diagram 



SYSTEMS ANALYSIS AND DESIGN 405 



From Previous Routines 
Blocks: 10, 20, or 30 



Block 41 



1 





Develop & 

Store 

Withholding 

Tax 


Block 


42 


}f 




Develop & 
Store 
FICA 


Block 


43 


1 


f 




Develop & 

Store 

Net Pay 


Block 


44 


y 


r 



Develop & 

Store New 

Year-to-Date 

Balance 



Block 45 



To: Error 2 ^- 

Block 70 



Crossfoot 
Results 



-►To: Distribution 
Routine 
Block 50 



Figure 11-5. Semi- detailed block diagram of block 40 



406 PRINCIPLES OF PROCESSING SYSTEMS 



of the diagram, except for clerical functions, to assure continuous ma- 
chine operations. 

Two more levels of detail are useful in laying out the flow of opera- 
tions. A semi-detailed block diagram like Figure 11-5 can show an 
expanded view of a major problem block, breaking the block into 
smaller components numbered for reference purposes. (Figure 11-5 
shows block 40, with components 41, 42, etc.) This intermediate level 
of charting should disclose any serious errors or omissions arising in 
developing the run structure. 

A detailed block diagram, Figure 11-6, expands semi-detailed 
block 41 into a series of logical operations numbered 41.1, 41.2, and 
so forth. This level of detail is a guide for quick preparation of com- 
puter instructions. 

From Blocks 10, 20, or 30 



Block 41.1 



i 



Exemption 
Amount 
x Tax 
Class 



Block 41.2 U 



+ Gross 



® — ' 



Is there tax 
able Income? 

Block 41.3 



h-Q 



Block 41.4 



Taxable 
Balance x 
Taxable % 
1/2 Adj. 



Block 41.6 



Block 41.5 



Load & 
Store 
Zeros for 
Punching 



Store 

Withholding 
Tax for 
Punching 



Block 42 
Figure 11-6. Detailed block diagram of block 41 



SYSTEMS ANALYSIS AND DESIGN 407 

Each semi-detailed block diagram deals with a separate part of 
the problem that can be programmed readily with the aid of corre- 
sponding detailed block diagrams. Detailed analysis of an application 
in this fashion simplifies program preparation. 

The degree of detail depends upon the problem itself and the 
desires of the programmer. A programmer dealing with a problem 
that is small enough for him to handle alone may prefer to skip all 
flow charting and go directly to computer coding. This direct attack 
on a problem is advocated by programmers experienced in engineering 
and scientific problems that can be handled completely by one person. 
Business applications of computers may not appear to be as difficult 
as scientific problems, although some people consider them to be more 
intricate (Bowden, 1953). Complexities arise because of the relation- 
ship of each part of an application to another — for example, calculated 
gross pay must be available for calculating net — and the need to main- 
tain operations without interruption cycle after cycle. The usefulness 
of flow charts grows as applications increase in scope and complexity. 
The standardization of flow-charting practices — symbols, arrangement, 
and degree of detail — simplifies design work and facilitates communi- 
cation among programmers. 

Programming. Flow charts, which are invaluable for under- 
standing and designing programs, are translated into instructions for 
the computer and some of the supporting equipment. Since program- 
ming, in the narrow sense, is covered in Chapters 3 and 8 and depends 
on the particular computer to be used, it is not treated here. 

Records and Files. Development of process charts, flow charts, 
and instruction codes presumes that records are designed for efficient 
storage as files, as well as for compatible processing with other input 
items. Numerous points must be resolved in designing records. Some 
of the more important of these are: (1) standardization of records for 
all types of data; (2) length and placement of key or keys for efficient 
sorting; (3) number of items (one or several) to a computer word; 

(4) variable- or fixed-length records, and disposition of residue; 

(5) maintenance of files before cut-over to new system and afterwards; 

(6) control and audit of file changes; and (7) the most efficient file 
media — paper, punched card, paper tape, magnetic tape, drum, or disk. 

Some features of records and files are independent of the features 
of the equipment selected, but many others are dependent on such 
features. Computers that store records as fixed fields and blocks on 
tape, for example, process records faster if they are arranged one item 
per field and one record per block or in simple integrals or multiples 
thereof. Computers that handle variable-length fields have more, but 
not unlimited, freedom in record design. 



408 PRINCIPLES OF PROCESSING SYSTEMS 

Input. The origination of input data may lie outside the scope 
of operations covered by the process charts. The widespread belief 
that accurate, timely, and well-organized data will be available for 
processing as required is frequently not fulfilled in practice. The 
quality of data rarely matches expectations. The desired and actual 
nature of data available deserve analysis in order to get an efficient 
compromise between theory and practice. Briefly, the questions to 
consider in designing input schemes are: (1) where do data originate; 
(2) who is responsible for origination; (3) what format, volume, and 
media are used; (4) what non-trivial mistakes are inherently present; 
(5) how to detect and correct consequential mistakes before or during 
computer processing; and (6) what possibility exists for getting auto- 
matic or by-product generation of data. 

Matching System and Facilities 

The steps for meeting system specifications range from finding 
the degrees of freedom permissible for redesign to establishing input 
procedures; these steps constitute a first approximation of system de- 
sign. It is necessary to find whether the proposed system appears fea- 
sible before deciding to install it. Modification of the proposed system 
design may be necessary to simplify its introduction and to keep costs 
within bounds. Matching the system and facilities involves careful 
appraisal of equipment, procedures, and personnel. 

Equipment. Data-processing includes data origination, com- 
munication, and conversion; it requires input devices, the computer 
proper, file storage units, and output printers. Operating equipment 
requires support in the form of building space, utility services, and 
a communications network. Factors for appraising equipment are its 
capacity for handling present and near-future requirements, cost, com- 
patibility of operations throughout the system, ability to fulfill report 
and interrogation requirements, flexibility to meet changing condi- 
tions, reliability for trouble-free operations, and protection against 
catastrophe. 

The variety of equipment available can be screened to eliminate 
items that are either too large or too small for requirements or incom- 
patible with other equipment. Enough difficulties arise in integrating 
equipment offered by different manufacturers to warrant assigning 
responsibility to one manufacturer for furnishing and coordinating all 
equipment, whether he manufactures it or purchases it from others. 

Procedures. Detailed procedural instructions are needed to 
guide people in the same way that programs are required for com- 
puters. Operating procedures cover steps in the origination and con- 
version of input data, data transmission, computer operation, treat- 



SYSTEMS ANALYSIS AND DESIGN 409 

ment of unusual cases, control and safeguards over data and files, 
system testing, and preparation and distribution of reports. 

Difficult problems arise during the period of transition or cut- 
over to a new system. The fact that important system changes occur 
only infrequently hinders the preparation of specific, sound procedures 
and limits their applicability. The ease or difficulty of cut-over de- 
pends, in good part, on the care used in systems analysis and design 
as a whole. Cut-over is only one step, although an important one, in 
the transition from an old to a new system. 

SUMMARY 

Systems analysts collect, organize, and evaluate information to 
enable management to make decisions about a data-processing system. 
Systems are analyzed because there is some prospect of improving 
them. Improvements are made either by reducing the cost of operation 
or by increasing the value of information. 

Electronic equipment designed and built in the past few years 
offers many opportunities for reducing the costs of processing data. 
Equipment developments have, in some ways, outrun the ability of 
systems analysts to use such equipment; still, some features of the 
equipment are not ideally suited to business-data processing and ac- 
tually compound the user's problems. The quality of information may 
be improved by accelerating reports, screening important results, in- 
creasing accuracy, and obtaining new kinds of output. 

The question of whether to analyze a system — and, if so, how 
extensively and intensively — is most perplexing. Some exploratory 
analysis is required merely to find areas that deserve analysis in depth. 
Analysis may be narrow in scope in order to improve isolated parts 
of the data system or to use limited-purpose equipment. Broad analysis 
is required for improving the whole system or several parts of it that 
are closely inter-related. A comprehensive analysis is imperative for 
the efficient use of large-scale equipment. Troublesome or expensive 
areas should get first attention; but important advances in equipment 
and systems often warrant re-evaluating many areas of a data system. 

Big improvements in the system or equipment deserve quick intro- 
duction in order to exploit them as soon as possible; but the long and 
careful study required often postpones important changes. The oppo- 
site is true for trivial system changes: they can be made quickly, but 
there is no compelling reason to do so. Efficient systems design must 
balance the need for important systems changes with the user's ability 
to make them. 

Detailed analysis of present methods is valuable to the extent 
that it provides learning which applies to the future. The prospective 



410 PRINCIPLES OF PROCESSING SYSTEMS 

introduction of new equipment and techniques may change everything. 
In such a case, general analysis to find objectives is more valuable than 
a detailed analysis. Questions to ask during the analysis stage relate 
to the operations, system, and equipment. The nature of such questions 
depends on what ability and experience the analysts have, how rapidly 
the equipment is being changed, and what new system changes are 
being considered. 

System selection is determined by information and data require- 
ments, the existing system, and the current state of technology. Op- 
timal system design is easier, if the objectives — maximize profit, mini- 
mize cost, or something else — are specified. Operating objectives must 
be consistent with policy objectives in order to achieve optimum re- 
sults. If conflicts or cross-purposes develop, sub-optimization occurs. 

On paper, systems design represents, at best, only a first approxi- 
mation of an efficient system. Operations often fall below expectations 
because of requirements that are overlooked or misunderstood during 
the analysis stage, erroneous conceptions or miscalculations during 
design, and unplanned-for changes that occur after introduction. At 
best, the variations from plans that occur may require some minor 
modifications, and at worst, a complete overhaul of the system. 

The question naturally arises whether greater care in analysis 
and more imagination and vision during design would be more effi- 
cient than modification soon after introduction. Two viewpoints are 
current on how to balance the effort spent on preplanning a system 
against that spent on overhauling it after installation. At the risk of 
oversimplification of positions, one school argues that by carefully 
projecting future requirements, the system will operate efficiently with- 
out a major overhaul because long-run needs are essentially met 
(Canning, 1956). Major changes in data-information requirements will, 
by careful planning, be made simultaneously with the introduction 
of new equipment and suitable operating procedures. 

In practice, however, systems analysts consider data-information 
requirements as essentially independent of equipment and related 
procedures, except to the extent that they are limited by them. The 
essence of this argument is that changes in information needs or equip- 
ment can be made essentially independently of each other, if they are 
performed in a suitable sequence. New equipment can be introduced 
with minimal changes in information specifications to be followed by 
suitable redesign of the system after the equipment is operating. This 
two-stage approach levels out the work load and permits use of the 
new system to obtain data and make analyses preparatory to further 
change and refinement. 

The merits of the single and two-stage conversion plan are moot. 
Some points that have bearing on the superiority of either are the 



SYSTEMS ANALYSIS AND DESIGN 411 



urgency of introducing the new system, the experience and capacity 
of the systems design group, the availability of equipment suited to 
short-run and long-run information requirements, and the risk of dis- 
satisfaction arising either from keeping the information system in flux 
over a long period or of freezing it too soon. 



REFERENCES AND SUPPLEMENTAL READINGS 

Bowden, B. V., ed. Faster Than Thought, A Symposium on Digital Comput- 
ing Machines, London, Sir Isaac Pitman and Sons Ltd., 1953, 416 pp. 
Bowden surveys the field of digital computing machines and introduces 
some of Britain's accomplishments in this field. The subject matter is 
treated in three basic sections. Part One is concerned with the history and 
theory of computing machines. Fundamental computer logic, circuit com- 
ponents, organization, and programming are discussed. The historical ap- 
pendix presents a contemporary account of Babbage's "Analytical Engine," 
accompanied by extensive notes by the Countess of Lovelace. These early 
writings reveal great depth of understanding of the concepts and poten- 
tial usefulness of digital computers. Part Two presents detailed and some- 
what technical descriptions of the leading machines in Britain as of 1953, 
written by the engineers who worked on them. Finally, the book discusses 
various existing and potential applications for electronic computers. For 
the most part, these applications are derived from earlier development of 
scientific and logical calculations, and little emphasis is placed upon ap- 
plications in business-data processing (one chapter). The applications dis- 
cussed include the use of computers in crystallography, meteorology, 
ballistics, engineering, and astronomy. 

Canning, Richard G. Electronic Data Processing for Business and Industry, 
New York, John Wiley & Sons, Inc., 1956, 332 pp. In his book, Canning 
sets forth a comprehensive "systems engineering" approach to be followed 
by operating personnel in preparing a proposal on electronic data proc- 
essing for top management. The company is viewed as an integrated opera- 
tion functioning toward an explicit goal. Control is achieved through: 

(a) lower level management decisions, (b) paper work that is generated for 
the instruction of the organization, and (c) actual progress that is measured 
and fed back to management for further decisions. Electronic data proc- 
essing can be of assistance in each of these steps. The author's primary 
emphasis is on the role of systems analysis in clarifying the functions of 
the data-processing system. Two situations are discussed in considerable 
detail as illustrations: (a) inventory control in a department store and 

(b) production control in job shop manufacturing. The significant features 
of electronic computers are discussed with emphasis on general-purpose 
digital computers. The advantage of random-access storage for real-time 



412 PRINCIPLES OF PROCESSING SYSTEMS 

processing is noted; however, the realities of present-day equipment indi- 
cate the need for delayed processing systems in most applications during 
the immediate future. 

Chapin, Ned. An Introduction to Automatic Computers, New York, D. Van 
Nostrand Co., Inc., 1957, 525 pp. In this book, (a) the basic operating 
characteristics of computers and peripheral equipment, (b) their applica- 
tion to business problems, and (c) the fundamental principles of the systems 
studies and profitability evaluations that should be undertaken to aid man- 
agement in making an installation decision are discussed. The first three 
chapters of the book include (a) a very general description of digital com- 
puters, (b) a discussion of what computers can and cannot do, and (c) some 
examples of present business applications. In the following five chapters 
the author concentrates his attention on (a) the factors that should be con- 
sidered and (b) the steps that should be taken by management when the 
installation of a computer is being contemplated. In these chapters, he 
stresses the need for systems studies and systems changes and describes the 
procedures that could be used to make such studies. He also outlines a 
method of evaluating the profitability of computers, and discusses ways of 
overcoming the personnel problems caused by computer installations. 

Churchman, C. West, and Russell L. Ackoff. "Operational Accounting and 
Operations Research," Journal of Accountancy, vol. 99: 33-39 (Feb- 
ruary 1955). Describes what operations research is and shows how account- 
ants and operations researchers take different approaches to inventory 
accounting and control. Accountants are criticized for collecting too much 
data and preparing general-purpose, open-ended reports. On the critical 
question of what data should be collected for later use, which must be an- 
swered if pertinent data alone are to be collected and filed, the only guide 
is that people should collect now what they will later wish they had col- 
lected originally. 

Gregory, Robert H. "Document Processing," pp. 56-60 in Proceedings of the 
Eastern Joint Computer Conference, New York, Institute of Radio En- 
gineers, 1956. Gregory outlines the recent and potential improvements in 
document processing resulting from (a) technical developments, (b) changes 
in the conceptual framework, and (c) increased recognition of economic 
considerations involved. The most challenging area for improvement is in 
the separation of the information from the document on which it is re- 
corded in such a manner that both can be handled efficiently. The docu- 
ment itself might be completely eliminated. The question of improvements 
within and between business units is considered. Improvements within 
data-processing systems result from changes in costs of handling data and 
in the value of information obtained. 



SYSTEMS ANALYSIS AND DESIGN 413 

Gregory, Robert H. "Present and Prospective Use of Computers in Manage- 
ment Control,'' pp. 21-24 in Computer Techniques in Chemical Engineer- 
ing, New York, American Institute of Chemical Engineers, 1959. Data- 
processing systems attempt to meet managerial requirements concerning 
past history and future prospects by developing both data, the mass of facts 
concerning a business, and information, the small number of facts that are 
useful for decision making. The three schemes for processing data are (1) to 
produce reports, (2) to generate information, and (3) to make decisions. 

Problem Planning Aids, IBM Type 650, New York, International Business 
Machines Corporation, 1956, 18 pp. This booklet covers block diagram- 
ming, planning chart conventions, single instruction loading cards, and pre- 
liminary program testing and analysis. Block diagramming is done in three 
phases: the over-all statement of the problem, the semi-detailed explosion 
of each major problem block into smaller components, and the detailed 
block diagram which is a series of logical operations. 

Rotkin, I. "The Mechanization of Letter Mail Sorting,'' pp. 54-57 in Proceed- 
ings of the Eastern Joint Computer Conference: Computers with Deadlines 
to Meet, New York, The Institute of Radio Engineers, 1958. Rotkin deals 
with the background of the letter mail sorting problem — huge volume and 
little prospect for further improvement of manual methods — and describes 
several plans in use. He proposes a plan for typing a coded dot pattern on 
mail during the first handling and using optical-mechanical sorting in the 
post office at subsequent stages. 

Univac 11 Data Automation System, The, New York, Remington Rand 
UN I VAC, 1957, 196 pp. This manual, written from the viewpoint of man- 
agement and managerial problems, offers orientation in the capabilities of 
computers and also in programming. Chapter 9, "System Design,'' of in- 
terest here, covers types of computer runs, process chart symbols, file main- 
tenance, the processing run, and time estimating procedures. 

Toan, Arthur B., Jr. "General Principles of System Work,'' The New York 
Certified Public Accountant, vol. 22: 599-605 (October 1952). There are 
three types of general principles, namely (a) those involved in solving any 
problem, (b) those of handling the human aspect involved in any process of 
change, and (c) those of acquiring experience essential for doing systems 
work in the clerical field. Toan's treatment of how to solve a problem 
clearly distinguishes between objectives and method. He deals also with 
the problem of fundamental system changes in contrast to merely super- 
ficial modifications that do not cope with the basic problem. 



CHAPTER TWELVE 



SYSTEMS ECONOMICS 



The justification for new data-processing equipment and the re- 
lated system — which includes people, forms, procedures, and so 
forth — hinges on economic analysis. Economic analysis is aimed at 
finding out whether revenue obtained will exceed costs during the 
useful life of the equipment and system (Chapin, 1955). The crucial 
question is, "Will the new equipment make a profit?" 

"Revenue" includes the value of services produced and the sal- 
vage value of equipment after it is no longer used. "Cost" includes 
the outlays for systems analysis, programming, equipment purchase 
price or rental payments, installation, debugging and conversion, in- 
terest on investment, maintenance, materials, labor, and power. Similar 
revenues and costs are common to the consideration of an investment 
in any capital goods — whether data processors, milling machines, or 
automobiles. 

The economic analysis of data-information systems has some 
unique problems, for the value of output — information and reports — 
is frequently difficult to measure. Since information and reports are 
rarely bought and sold, "prices" are not available. Some organiza- 
tions specialize in providing intelligence, as companies that supply 
credit information. In such cases the commodity is information; in 
many other companies information may be an important adjunct to the 
product. At the present time, operating experience with most auto- 
matic data-processing equipment is brief, although in some cases it 
covers the cycle from installation of automatic equipment through 
satisfactory operation to replacement by still newer equipment. But 
even longer operating experience is needed to indicate the economic 
life of any particular type of equipment, for, at any time, a high rate of 
change in equipment design or users' requirements may result in early 
replacement. Furthermore, people are an important part of any data- 
processing system, and they are more difficult to analyze than equip- 
ment; but the way they use a system partially determines its value. 
A systems analyst has only a limited basis for predicting how the people 

414 



SYSTEMS ECONOMICS 415 

he knows best will react in the face of entirely new developments. 
He does not know whether a particular manager will or can use a report 
to help him make better decisions. He is not certain how department 
heads, supervisors, and clerks will react. He is not sure how the over- 
all operations of the business will respond to system changes. 

The objective of cost analysis is to select, from all choices avail- 
able, that system and required equipment which will provide the great- 
est excess of value over cost. This objective is basic to the whole scheme 
of systems analysis. The opportunity to invest in automatic data- 
processing equipment is only one demand on an organization's funds, 
and it must live or die in the competitive battle. Since the demand 
for funds always seems to outrun the supply of funds, some rationing 
scheme is used to keep demand and supply in balance. One such 
scheme is to calculate the expected return from each investment and 
select those investments with returns exceeding a specified cut-off rate. 
Other less profitable proposals for investment must perish, in a Dar- 
winian sense, in the struggle for survival — unless they are protected by 
fortuitous circumstances, such as a high official taking an active in- 
terest in the proposal. A high cut-off rate is used to ration funds when 
good investment opportunities are plentiful; and a low cut-off rate is 
used when funds are plentiful and investment opportunities limited. 

Economic aspects are of prime importance to systems analysis, 
design, and implementation. This chapter deals with theoretical ap- 
proaches to analysis, decision rules, and application of the rules. 

THEORETICAL APPROACH TO COSTS 

/ The primary theoretical question to be answered by economic 
studies is," What changes in the cost of data processing and in the value 
of information can we expect from a proposed course of action?'' Some 
problems of defining and measuring cost and value were covered in 
Chapter 10. 

The objective in proposing new data-processing methods may be 
either to reduce processing costs while keeping system output con- 
stant, or to improve system output, through better management opera- 
tion, to a greater degree than the related processing costs increase 
(Wallace, 1956). The first objective appears to be within the prov- 
ince of data-processing specialists, while operations researchers claim 
pre-emptive rights in the second. Actually, the two viewpoints are 
probably only two ways of approaching the same problem: how to 
increase the net value of the system. Stated differently, the first is the 
"economy'' approach, while the second is the "efficiency'' approach 
to system design. 



416 PRINCIPLES OF PROCESSING SYSTEMS 

Cost Formulation 

An ideal approach to studying costs might be to develop a formula 
for calculating the cost of operating a data-processing system. The 
formula would be based on the cost of equipment (including spare 
parts and test equipment), salaries of personnel, supplies used, facili- 
ties (space, utilities, and others), methods and procedures used, and 
the nature and rate of change from the old to the new system. These 
basic factors, probably accompanied by others, determine the over-all 
cost of a data-processing system. 

If the cost function for each factor could be established for each 
system considered, then the cost of each proposed system could be 
computed mathematically; one system might then be selected because 
it produces the same information as other systems at a minimum cost. 
Another selection rule might be to try to increase the value of infor- 
mation obtained over the cost of producing it. Actually, many prob- 
lems hinder the use of a formula to calculate the costs of processing 
data. Many of the factors are peculiar either to the business or to the 
equipment being considered. Given the array of equipment available 
and the variety of processing patterns that can be developed to meet 
the needs of a business, a huge number of systems — considering both 
equipment and processing patterns — deserve cost analysis. The prob- 
lem involves much more than cost analysis alone, for each possible 
new system must be "invented" before it can be analyzed. 

The expense involved in merely sketching out every possible sys- 
tem, let alone filling in the detail, is so big that some companies try to 
consider only the "best of all possible systems," without examining 
other possibilities. There is always a risk, however, that a system se- 
lected from a limited number will not be the best obtainable; if all 
possibilities can be considered at little or no cost, this risk is un- 
warranted. Regrettably, so little general work has been done to de- 
velop cost functions in this field that most economic studies are made 
by devising a few attractive systems and estimating their costs. Some 
rough rules do exist for use after an economic evaluation is completed: 
for instance, "multiply the costs by two and divide the savings by 
two, to get more realistic estimates." This caveat has some merit in the 
final stages, but it cannot help in making the original estimates. Fur- 
thermore, rules of thumb for adjusting estimates, when made with less 
than scrupulous care, may lead to erroneous conclusions. 

Nature of Costs 

Marginal and capital costs are germane to a discussion of data- 
processing system costs. Covering these types of costs will, by infer- 
ence at least, raise the concepts of fixed, variable, and average costs. 
More complete coverage, of course, can be obtained from any eco- 
nomics textbook. 



SYSTEMS ECONOMICS 4 1 7 

Marginal. "Marginal cost" is the difference in cost associated 
with any change in the activity, although much attention is given to 
changes in volume. The change in activity may be reflected in the vol- 
ume and nature of data processed; the kind, frequency, timing, and 
number of reports; personnel; and kind of equipment. 

Some costs— those for certain supplies, or for messages sent indivi- 
dually — change with variations in volume. Many other costs — such as 
those of personnel and facilities — may change little or not at all when 
usable but idle capacity exists. Some analysts say that new equipment 
should have an unused capacity of at least twenty or thirty per cent 
when installed, to cover the work load that may arise from mistaken 
estimates, oversights, and unexpected growth. Until the time that 
this capacity is required for scheduled operations, it can be used, or 
sold — on an "if available" basis, as by electric utility companies who 
offer power at secondary prices- -because the cost of providing a modest 
fraction of unused capacity is small. Large increases in work load may 
tax the facilities and require more shifts for equipment, although at a 
lower operating cost than the first shift. Additional time worked by the 
same personnel may require the payment of premiums. Higher wage 
rates may have to be paid to attract additional personnel in a tight 
labor market. In short, the marginal cost may be small for some con- 
ditions and large for others. 

Actually, the concept of marginal cost is often reflected in pricing 
unused capacity. Computer users offer data-processing services to 
others at prices based on marginal costs in order to exploit unused 
capacity. Incidentally, computer manufacturers who offer regular 
computing services seem to base prices on average costs, and thus think 
it unfair for others to price from marginal costs. 

Charges for computer services transferred within a company may 
be based on average cost — total cost divided by total hours either 
scheduled or operated — so that the applications in use absorb total 
costs. Such a policy may lead to high rates when the work load 
is light, and to low rates when the load is heavy. It does not encourage 
planning to use facilities just up to, but not beyond, the operating 
volume that has the lowest marginal costs. Applications which cannot 
cover average cost, although they could cover marginal costs, are re- 
jected when the average-cost rule is followed. 

Marginal costs do not seem "right" as a basis for allocating prices 
to computer users because the amount allocated differs depending 
upon whether a particular user is the first, second, or later one in a 
series. The first user would be charged a price covering all initial costs 
and later users would be charged only for the marginal costs incurred 
to meet their demands. Actually, however, the essence of this policy of 
pricing is followed in studies concerning the acquisition of equipment, 



418 PRINCIPLES OF PROCESSING SYSTEMS 

in which it is often insisted that the first one or more proposed initial 
applications absorb total initial costs. The treatment of costs to be 
followed when subsequent applications are started is usually vague, 
but it is more likely to proceed on the basis of average than it is on 
marginal costs. 

Strange decisions sometimes result from the fact that average and 
marginal costs are different. One company whose computer designed 
for business applications was not fully loaded had an opportunity to 
perform scientific computations for which the computer was slow but 
adequate. A question arose about the rate that should be charged for 
computer time in doing scientific calculations. If an average cost rate 
was used, the total charge would be more than that of obtaining some 
well-suited equipment. 

Computed in this way, the cost for the proposed job was, in fact, 
so high that it was decided to leave the equipment idle and get scien- 
tific equipment. On a marginal basis, however, the cost of using this 
otherwise idle business equipment for a less well-suited purpose would 
be nearly zero. Using equipment not wholly suited to an application is 
reasonable in a case where marginal costs are covered although average 
costs are not, if no better use is available. 

The essence of the point is that large-scale computer capacity is 
obtainable only from large, complex equipment since the equipment is 
indivisible (small equipment is not just a small-scale model of large 
equipment, and building-block construction is only a partial answer); 
a high fraction of total operating costs is fixed; and the equipment 
may operate longer and more reliably if operated instead of shut down. 
Marginal costs for unused time are so small that the use of average 
costs for pricing may obscure otherwise reasonable decisions about 
computer utilization. 

Capital. Electronic computers involve huge investments in 
equipment, facilities, and personnel. Such large outlays for systems 
analysis, equipment surveys, economic studies, equipment, program- 
ming, site preparation, and conversion are new to office operations. 

Capital invested in data-processing equipment is supposed to 
serve the same purpose in the office as elsewhere: trading increased 
present outlays against reduced future operating expenses. To the 
extent that equipment processes data — calculates, sorts, updates files, 
prepares reports — more efficiently than people, such an investment is 
warranted. Investment decisions made today turn on estimates, not 
facts, about the future, and they hinge on such imponderables as future 
work load volumes and patterns, capacity of equipment now and in the 
future, productivity of people, price levels, and interest rates. 

A computer and the related equipment required for a data-proc- 
essing system ranges in cost from a hundred thousand to several million 



SYSTEMS ECONOMICS 419 

dollars. Systems analysis, equipment selection, and programming costs 
depend on the complexity and variety of business applications under- 
taken but may have a range as wide as the cost of equipment. Site prep- 
arations, consisting of space and utilities for both equipment and 
personnel, range from trivial amounts for small equipment to several 
hundred thousand dollars for large computers. Investments in spare 
parts and supplies — new paper forms, and especially, magnetic tapes — 
may be huge. 

Equipment cost, on a per-operation basis at least, should decrease 
as the skill and experience of designers and manufacturers increases 
and users become better able to utilize more powerful equipment. 
New equipment that is smaller, faster, or consumes less energy by use 
of new components will cost less and require smaller facilities for opera- 
tion — space, power, and air conditioning. 

Different Processing Techniques. The relationship between the 
marginal and capital cost and the value of information (given differing 
processing techniques and with the fraction of the data processed as 
the independent variable) is worth examining. At the risk of oversimpli- 
fication, the graphs shown in Figures 12-1 and 12-2 are suggestive of 
the relationship that probably exists. The low and high ratios of capital 
to labor are indicative of the use of manual and electronic techniques. 
Techniques with intermediate ratios, such as electromechanical equip- 
ment, have cost curves that probably lie between those shown, The cost 
and value of information are shown along the vertical axis, and the 
fraction of data processed is indicated along the horizontal axis. The 
"fraction" of data processed can be defined narrowly in terms of the 
activity within a single application — the proportion of transactions 
processed against the inventory file, for example. Broadly, "fraction" 
applies to the number of applications (out of the total) that are 
handled. The cost curves shown here are similar to the economist's 
traditional cost curves for two proportions of capital and labor. 

The chief differences in these two cost curves are the locations of 
their starting points and their slopes. As the ratio of capital to labor 
increases, the basic cost increases and the marginal cost decreases. 

The value curves suggest that a small quantity of information has 
a large value. Thereafter, the value of added information declines to 
near zero. The value curves may take on different shapes according to 
changes in the ratio of capital to labor used in data processing, but 
this difference does not arise solely from the technique employed. Some 
differences arise from the fact that certain characteristics of the infor- 
mation change whenever the processing technique changes. Further- 
more, some companies associate some value with the use of a particular 
technique apart from the characteristics of the information obtained. 
The advertising value that may result from processing data by means 



420 PRINCIPLES OF PROCESSING SYSTEMS 




Fraction of Data Processed 



Figure 12-1 . Cost and value for a low ratio 
of capital to labor 



100% 




Fraction of Data Processed 



Figure 12-2. Cost and value for a high ratio 
of capital to labor 



100% 






SYSTEMS ECONOMICS 421 

of certain techniques appears to be a positive factor in adopting a new 
technique, although it sometimes becomes a negative one because of 
an excessive number of visitors. The advertising value of using a cer- 
tain data-processing technique is probably far more difficult to evalu- 
ate than the other factors listed earlier, but probably declines rapidly 
as novelty wears off or, as sometimes happens, the system does not work 
as well as originally publicized. 

The excess of value over cost for the information processed by 
any given technique is maximized when the value curve is above and 
parallel to the cost curve. At such a point the marginal value and the 
cost are equal, and greater or lesser use of that technique, considering 
that technique alone, would be uneconomical. The different shapes of 
the cost and value curves (and, therefore, different optimal quantities 
of information to be processed by each technique) probably help ex- 
plain why a business uses a mixture of data-processing techniques. 
The fixed or initial costs associated with another system may preclude 
its partial use — the price of a different ticket is so high that you have 
to stick with the same show. 

It appears that at any point in time a business probably utilizes 
a composite of most or even all of the techniques that it has adopted 
at any time in the past. More specifically, there are numerous indica- 
tions that yesterday's techniques will be only partially displaced by 
either today's or tomorrow's techniques. Stone-age techniques, you 
will recall, are still used to make permanent outdoor markers. 

TRANSITION COSTS 

Actual operation of the existing data-processing system in a com- 
pany and introduction of the proposed computer system are separated 
by the transition costs incurred in making the change-over. ) Transition 
costs might be thought of as the price of admission to a real, working 
demonstration of how useful new computers can be for processing data 
in a particular business. 

A critical question is how much the transition costs will be and 
how soon they will be absorbed. The reduction in operating costs — 
measured as present costs minus normal future costs after the opera- 
tions settle down — must absorb the extra costs incurred during the 
transition in order to warrant the change. The cumulative break-even 
point, ignoring the time difference and the effect of interest rates, is 
reached when the amount of reduction in operating costs matches 
the total transition costs. More often, people say that they reach the 
break-even point when the transition period is over and operating 
costs are down to their prior level. The break-even point, according 
to this second definition, may be reached in a few months or years, 
even though the cumulative break-even will not be reached for much 



422 PRINCIPLES OF PROCESSING SYSTEMS 

longer, if it is ever reached at all. The transition costs discussed here 
are the costs of systems analysis, facilities, formulation of a proposed 
system, and conversion to a new system. 

Systems Analysis 

At the outset, it should be pointed out that operations and analysis 
are different in nature for any kind of system. Data systems often rou- 
tinely provide facts to permit analysis of other areas within a company 
or organization — manufacturing, sales, inventory, and credits; but 
special investigations seem mandatory in order to analyze the data- 
processing system itself. Re-orientation of personnel to analyze the 
data system itself is expensive because it usually involves using per- 
sonnel divorced from the main stream of data flow and requires their 
education and training in terms of new techniques that are being con- 
sidered for adoption (Bagby, 1956). To the extent that a systems analy- 
sis or procedures group exists, it may be used for analysis aimed at 
systems redesign. The cost of initial staffing and background training 
can thus be saved, although the group will need some education and 
re-orientation. 

The expense of systems analysis raises the question of how thor- 
ough an investigation should be. The two extremes of thoroughness 
seem to be (1) at the minimum, determining the output requirements, 
and (2) at the maximum, studying in detail all existing operations from 
data input through processing to information output. Few analysts are 
brave enough to rely on a minimum analysis for fear of overlooking 
some requirements that will be disclosed only by studying data input or 
processing methods. The other extreme — infinitely detailed analysis of 
data flow — is so expensive that few companies feel they can afford it. 
Furthermore, it seems doubly expensive because much of what is 
studied may soon be replaced by new techniques. Extremely detailed 
analysis poses somewhat the same philosophical problem as whether 
a person who spends two days writing his personal diary for one day 
can ever finish it; he could, it is said, if he lived forever. Several highly 
detailed, comprehensive systems studies have run aground because of 
the cost and time involved and the doubt as to their ultimate useful- 
ness in system redesign. 

A middle ground between minimum and maximum analytic detail 
is commonly used, first, to reduce the risk of omitting important re- 
quirements discernible only by studying existing procedures (because 
instruction manuals and output requirements are not current or suffi- 
ciently descriptive) and, second, to keep the costs and elapsed time 
for investigation within bounds. The general conclusion one can draw 
from marginal analysis is that systems analysis should be continued as 
long as the probable improvement in the design of a new system out- 



SYSTEMS ECONOMICS 423 

weighs the cost of analysis. Benefits and costs, however, are difficult 
to match for several reasons: benefits are obtainable only in the future, 
they are fortuitous in that they may arise or even disappear at any 
time, and they are not readily measurable in monetary terms. The costs 
of systems analysis are, on the other hand, incurred now or in the near 
future at controllable rates. But the total amount of these, too, is 
difficult to control because discontinuance is unlikely. There is usually 
some prospect, although often small, that continued analysis will lead 
to added improvements./One big reason for undertaking a systems 
analysis is to gain an understanding of the managerial organization 
and to find the political problems which will be involved in the design 
and use of a new system. It is more often important to understand who 
is involved than to know what is done or how it is done. 

Facilities 

The facilities for a computer system serving a business include, 
in broad terms, equipment, space, and utilities. 

Equipment costs include the invoice or rental price of the items 
selected and, in some sense, the cost of selecting equipment to match 
the system needs — which involves a risk that the equipment obtained 
will not be suitable. The specified price of each piece of equipment 
already available is quoted by the manufacturer. But the aggregate 
bill may be ambiguous because of uncertainty over precisely which 
units and how many units are required and the tendency of manufac- 
turers to quote prices for basic or stripped-down units. A complete set 
of equipment may cost several times as much as the computer alone. 
The price for equipment not yet available because it is still in the proto- 
type or design stage is even more ambiguous. Experience indicates a 
strong tendency for prices to increase as equipment progresses from its 
initial conception through design and prototype stages to the produc- 
tion model. On the basis of price alone, one might be well advised 
to contract for equipment at the earliest possible moment after its intro- 
duction on the market when manufacturers are likely to quote low 
prices. 

Space and utility investments for computer installation are related. 
The number of electronic and electric components is a rough indicator 
of the weight and volume of the equipment and of the energy required 
both to operate the components and to cool all the equipment exter- 
nally. Costs of building reconstruction to get suitable floor loads, space, 
power sources, and air conditioning run from trivial amounts for small 
equipment to important fractions of cost for large equipment. The use 
of smaller components — transistors or otherwise — that consume less 
power will reduce space and utility costs in several ways. Components 
that consume less power can be packaged more closely because they 



424 PRINCIPLES OF PROCESSING SYSTEMS 

pose smaller heat dissipation problems and will decrease the need for 
air conditioning equipment. 

System Formulation 

The second most important computer system cost (after facilities) 
is for personnel. In most cases, equipment is designed and built by 
manufacturers without regard for the requirements of a particular 
business, although with some consideration for business needs in gen- 
eral. Skilled, experienced personnel are the link between equipment 
as such and a successfully operating data system. Many say that the 
system is no stronger than the people responsible for system design, 
installation, and operation. 

During periods of rapid technical change, as in the initial years 
of computer use in business, the user has to rely primarily on his own 
employees as a source of personnel because the demand for skilled 
people far exceeds the supply. Aided by equipment manufacturers, 
consultants, and educational institutions, each company undertakes 
to select and train employees who appear to have the ability to develop 
and operate entirely new systems. In selecting personnel, much stress 
is put on the business environment and system as being difficult to 
comprehend. It takes people longer to gain sufficient skill and savoir 
faire than to acquire a comparable degree of equipment expertise. A 
compromise approach that is often used is to obtain one or a few people 
experienced with computers from either the manufacturer or another 
computer user. The hiatus between the vastly different backgrounds 
of newly employed computer specialists and long-term employees 
skilled in company operations is partly closed by assigning both types 
to developing the computer systems. 

The time and cost spent by each user for building minimum skills 
in computer methods for its systems people will be smaller in the future 
as the number of people skilled in computer usage increases. The edu- 
cational system, in the broadest sense, from high school onward, will 
bear much of the burden of education and training. Furthermore, the 
cost of educating, or at least orienting, company managers, officials, 
and interested third parties, which is high now, will become much 
smaller as general knowledge spreads and the use of computers be- 
comes commonplace. 

Following the initial cost of developing computer and methods 
skills in an adequate group of employees, there is the continuing cost 
of systems analysis and programming to develop the proposed system. 
A bulge in personnel costs starts when people are first assigned to study 
new methods and equipment and continues until the new system re<- 
places the old one. Some companies minimize the cost bulge by dis- 
continuing methods work on the old system when new system planning 



SYSTEMS ECONOMICS 425 

begins. Assigning the whole methods group to developing a new sys- 
tem makes sense if only marginal improvements remain to be made 
and if the existing system will not deteriorate appreciably from neglect 
during the analysis and transition period. 

In the early years of data processing it was often thought that 
once systems analysis and programming were completed, other areas 
could be tackled or the programming staff reduced. Several years or 
even months of experience indicate that programs are never completed 
in the sense that a solution remains static and further improvements 
are uneconomical. Business problems change because of managerial 
decisions and external factors. Furthermore, additional work spent on 
an operating program seems to follow learning-curve rules in which 
big reductions in computer running time can be obtained from a small 
reprogramming effort. 

The economics of formulating or designing a new system depend 
to a marked degree on the amount and rate of change involved in the 
transition from an old to a new system. Important and quick changes 
increase the costs of analysis and design because it is difficult to obtain 
or develop qualified manpower, to schedule changes, to attempt in 
parallel what should be done in sequence, and to benefit from both 
internal and external experience. 

There seems to be a gestation period of a year or more from initial 
consideration of computer use to smooth operation in even one major 
area. The development of a new system to be used with available or 
proposed new equipment occurs in the early stages, after some famili- 
arity with equipment is gained. General broad design, before all prac- 
tical limitations are fully realized, is likely to outrun the capabilities 
of people to make detailed designs and the capacity of the equipment 
to handle the system. Ambitious systems plans tend to become less far- 
reaching during the implementation period. The most ambitious sys- 
tem, in terms of breadth and farsightedness, may be designed and put 
into operation as soon as possible. The more conservative approach is 
that the burden of formulating a moderately advanced system, in even 
a limited area, and of introducing it concomitantly with new equip- 
ment, is a big enough project to handle initially. Further refinements 
and extensions to other areas should be made after the initial conver- 
sion when operations stabilize. On occasion, users have found the 
difficulties accompanying equipment installation and initial conversion 
so great as to require a complete re-orientation of effort to immediate 
tasks and the postponement of longer-range planning. 

Another economic consideration, apart from the cost of actual 
formulation of a new system, is whether few or many proposed sys- 
tems should be devised in order to select the best system. Systematic 
analysis probably requires comparison of at least two alternatives: 



426 PRINCIPLES OF PROCESSING SYSTEMS 

(1) the best system if the present equipment is retained, and (2) the 
best system that can be designed for use with new equipment. The 
high cost of sketching out general plans, let alone a detailed formula- 
tion, is so great as to limit the number of systems that are formulated 
and examined. Consequently, there is a strong tendency to focus atten- 
tion on a small number of systems, perhaps only one, and develop it in 
detail with only limited serious consideration of alternatives. 

From the user's viewpoint, the economics of system formulation 
involve the question of who does the work required and who pays for 
it — the equipment manufacturer or the user. Systems design either by 
manufacturers or consultants involves communication and education 
costs necessary to describe the existing system and its desired objec- 
tives. Furthermore, manufacturers' biases strongly influence their find- 
ings and proposals, and some consultants seem to operate as adjuncts 
to equipment manufacturers. Users, as a group at least, pay for the sys- 
tems work done by manufacturers' representatives and consultants. 

Although a complete data-processing system is difficult to test 
except by actually introducing it, the computer programs involved can 
be tested under laboratory or clinical conditions on time furnished by 
the manufacturer, on time rented from other users, or on the user's 
own equipment when installed. Time supplied by the manufacturer 
costs least, apart from personal travel and work-scheduling problems, 
while testing on the user's own equipment may be most expensive in 
terms of equipment costs but less costly in other ways. 

Conversion 

The costs of conversion, defined in a narrow sense, cover the 
period from the final testing of programs to the complete discontinu- 
ance of processing by the old scheme. Costs incurred during the con- 
version period include editing files for accuracy and completeness, 
converting files from the old to the new storage media, training people 
to get data of satisfactory quality, operating equipment to process data 
according to programs already devised, and overcoming the myriad 
obstacles that arise during the period of dual operation. 

Magnetic-tape records obtained by converting paper or punched- 
card records may be edited for completeness and logical accuracy by 
means of a computer program. Records not passing the tests can be 
referred to people for correction. Similar screening programs can be 
used for new data input after the system is operating. A difficult prob- 
lem arises in judging a tight screening program that may cause a high 
fraction of data to be rejected for correction, but that also provides 
increased accuracy from the substantial amount of manual work re- 
quired to correct deficiencies. Some computer users find that certain 



SYSTEMS ECONOMICS 427 

types of editorial corrections (for example, manufacturers using pounds 
instead of tons as a unit for reporting census data) can be included 
within the screen-editing program for automatic correction. 

After operating the new equipment and system in parallel with the 
old one long enough to give assurance of satisfactory performance, 
the old scheme should be discontinued. Some computer users compare 
the results obtained from both the old and new systems operating in 
parallel to help isolate errors in the new one. A high frequency of the 
discrepancies can usually be traced to mistakes occurring in the old and 
not in the new system. If so, dual operations hinder the conversion 
rather than facilitate it. Therefore, as soon as the new system appears 
to be functioning satisfactorily, the old can be dropped completely. 
Parallel operations on a near-indefinite basis, a situation which occurs 
occasionally, can hardly lead to more economical operations. 

Converting a data-processing system built around one model of a 
computer to a second model is far less costly than the prior conversion 
from manual to computer processing. For one electric utility, shifting 
from one computer to its successor involved paying only the rental on 
both for less than a month. An interesting and unexpected feature of 
obtaining an additional computer is the fact that space may not be 
available economically because it was not provided during original 
site preparation. When one computer is to replace another, the prob- 
lem is more difficult because space is required for both computers 
during the period of installing the second, operating in parallel, and 
dismantling the first. Furthermore, the second computer may be put, 
and have to stay, in a less desirable location than the first. One user 
faced with the problem of outgrowing a large computer located in a 
new building concluded that only a transistorized replacement com- 
puter was suitable, because nothing else would fit into the limited 
space available while both were in place. Painful problems arise during 
both the original and subsequent transition periods. 

Although capital investments in systems analysis and program- 
ming are often thought of as one-time costs, they are more properly 
considered as recurrent costs, to be faced repeatedly in the future. 
Changes in policy and new problems require continuing systems analy- 
sis and reprogramming. Programmers, being of an analytic, inquiring 
turn of mind, continually overhaul and improve programs, introduce 
refinements, and often cut computer running time. 

COST ANALYSIS MODELS 

The purpose of developing cost analysis models is to establish 
rules for predicting the future cost and revenues resulting from alterna- 
tive courses of action. The alternative that appears to have the best 



428 PRINCIPLES OF PROCESSING SYSTEMS 

future result can be selected. Analysis to devise new systems — pro- 
cedures, forms, and so forth — and to select new equipment may suggest 
several alternatives : 

1. Adopt the new system and obtain new equipment. 

2. Adopt the new system but continue using the existing equipment. 

3. Modify the old system and use little or no new equipment. 

4. Make no changes in either the system or the equipment. 

Any one of these alternatives might be best for a specific situation. 

Basic Models 

A cost analysis model is a collection of rules, figures, and estimates 
to represent the behavior of costs and revenue for a system. Such 
models range from simple forecasts of costs and revenues based on 
judgment and past experience to large sets of mathematical equations. 
Mathematical models for cost analysis of data-processing systems 
would be of great value, except that (1) few people have the necessary 
knowledge or time to devise and use complex models, and (2) more 
important, facts for devising and testing a model are frequently not 
available. Complex cost analysis models may be worth exploration, if 
someone with mathematical ability is available. Attention is focused 
here on some principles basic to cost analysis models dealing with 
data processing. 

Short History of a System 

The general picture of what happens during the life of an item 
of equipment is worth examining. Each item has its unique history, 
but a pattern holds true for many items. 

Initial Investment and Salvage Value. Much money is invested 
before a new system and the necessary equipment are operating satis- 
factorily. Introduction of a new data system involves, as described 
earlier: analyzing the system, training people, preparing programs, 
installing equipment, and converting from the old to the new system. 

"Salvage value" of a system is the sales price of various parts, 
minus the costs of removing and selling them. It has an important bear- 
ing on any acquisition, for a small salvage value restricts your freedom 
to switch after an initial decision. The salvage value of a brand-new 
system immediately drops below the initial investment for several rea- 
sons. First, the expenditures for training, programming, and conversion 
are of little value if the system is changed greatly. It is easy to lose 
sight of changes in the salvage value of training, programming, and 
conversion. There is a strong tendency to charge programming and 
conversion costs to expenses during the period in which they are in- 
curred. If the practice of immediate charge-off is followed, it is easy 



SYSTEMS ECONOMICS 429 

to lose sight of their value in use and how they decline over time. Sec- 
ond, installed equipment, although not used, sells for less than it does 
when new. Third, it is costly to remove equipment. 

After its initial major drop, salvage value continues to decrease 
slowly over time because of deterioration and increasing obsolescence. 
The decline in salvage value is a major cost of a new system. It is large 
in the first year and smaller in succeeding years, and year-by-year 
changes may be vastly different from the long-term average, so that 
estimates of annual decreases in salvage value are preferable to an 
average depreciation figure. Figure 12-3(a) suggests the decrease in 

(a) Decrease in salvage value 



$Per 

Unit of 

Time 



$Per 

Unit of 

Time 



(b) Operating cost 



Time 



(c) Revenue 



Time 



$Per 

Unit of 

Time 




Time 



Figure 12-3. Salvage value, operating cost, and revenue each period 



430 PRINCIPLES OF PROCESSING SYSTEMS 

system salvage value over a period of time, which represents the capital 
cost of having the system available. 

Operating Costs. Operating costs include supervision, repro- 
gramming to meet changing requirements, operating and maintenance 
labor, power, supplies, replacement parts, and test equipment. 

Operating costs rise over time because maintenance costs grow as 
equipment ages after its initial "shakedown." The information re- 
quired and the data available both change over time. Continuing an- 
alysis, reprogramming, and new procedures are required. Figure 
12-3(b) suggests the yearly outlay for operations. 

Revenue. The value of data and information produced by a sys- 
tem also changes over time, as shown in Figure 12-3(c). The bugs, 
confusion, and inexperience typical of a new system limit the amount 
of revenue during the transition stage and thereafter. Revenues tend to 
rise to a plateau where they stay for some time, until equipment mal- 
functions, changes in applications, and unscheduled down-time begin 
to reduce annual revenue. 

Value of System 

The value of a system equals its revenue minus its cost. The value 
can be determined for each individual time period. Figure 12-4 com- 
bines the three factors considered separately above — salvage value, 
operating cost, and revenue. At first, revenue is small and the decrease 
in salvage is large, so the system operates at a loss. As time goes on, 
the amount of revenue rises and the decline in salvage value is smaller. 
The break-even point, where the revenue just covers the cost, is 
reached at the point marked A. The system then operates at a profit. 
Eventually, revenue drops and operating costs increase so that losses 
arise after the point marked C, when the revenue for the period falls 
below cost. 



Revenue 



$Per 

Unit of 

Time 




Time 



Figure 12-4. Cost and revenue each period 



SYSTEMS ECONOMICS 431 

Net value can be cumulated from the start to any desired date 
to get the over-all effect. Figure 12-5 shows the value of the system 
over time. It accumulates the value for each time period shown above. 
The value is negative at first because of the immediate drop from the 
initial investment to the salvage value when the system is introduced. 
The accumulated value declines further because costs exceed revenue. 
At the point marked A, the system starts operating at a profit each 
period. The loss incurred from the start to point A is recovered by 
point B. The economic behavior described here for a data-processing 
system is only one possibility; but it appears to be representative of 
business experience. It is possible for revenue to be less than cost in- 
definitely, so that the system continues to operate at a loss. On the 
other hand, the revenue may be greater than the cost from the start. 




Time 



Figure 12-5. Value of system over time 



The decline in salvage value, operating costs, and revenue is 
shown in terms of current dollars in each period. The net revenue in 
each period can be discounted at an appropriate rate to the present 
date to facilitate comparison. The methods for equating present and 
future dollars are covered later in this chapter. 

Decision Rules for Capital Investment 

Rough-and-ready solutions are commonplace: "Buy newer and 
better equipment that is economically attractive whenever funds are 
available." "Obtain new equipment when old equipment breaks down 
frequently or works poorly." "Attractive models," "frequent break- 
down," and "poor operations" are ambiguous terms, and decision 
rules using them are correspondingly vague. 

Pay-off. An arbitrary "pay-off" period, which is the number of 
years required for net revenue to add up to initial cost, may be used 
to compare opportunities and select the best alternative. Unless the 



432 PRINCIPLES OF PROCESSING SYSTEMS 

estimated accumulated revenue exceeds the total estimated cost by 
the end of the pay-off period, the equipment will not be obtained. 
But equipment may be used beyond the pay-off period, so that the rule 
is hard to interpret. On the other hand, the equipment may not last as 
long as the pay-off period so that a loss will result. Insisting on a pay- 
off period that is shorter than equipment life is considered to be a con- 
servative approach. A short life restricts investment to equipment that 
is profitable enough to reach a positive net value in a short time. One- 
or two-year pay-off periods are sometimes used and three- to five-year 
pay-offs are often demanded. The pay-off period rule may eliminate 
equipment that would be profitable over a longer period; furthermore, 
it weights near-term and long-term revenues in the same way and does 
not give any consideration to the number of years that the specified 
return will be obtained. 

Rate of Return. The rate of return rule uses compound interest 
to compensate for time differences and the fact that the amount of 
revenue may change from year to year. Distant revenues are worth less 
than near-term revenues. Of course, the initial investment counts for 
most since it is made at the beginning. 

As explained later in this chapter, a series of future revenues can 
be related, through the present worth of an annuity, to the investment 
that must be made now. The present worth of an annuity of $1 for 10 
periods at a 10 per cent interest rate is $6.14; but it is only $4.19 at a 
20 per cent rate. That is to say, if $1 is to be obtained for each of the 
next 10 periods and a return of 20 per cent is demanded, then the out- 
lay must be limited to $4.19. If the number of periods is shorter or the 
revenue per period is smaller, then the permissible investment will 
be reduced. 

If the investment to be made today and future revenues can be 
estimated, then a rate of return can be calculated. Since the calculation 
is halfway involved, it may be preferable to select a trial rate, use a 
table to find the present worth of an annuity (if revenues vary over 
time, several calculations are required), and compare the amount from 
the table with the required investment. This approximation procedure 
can be repeated until the rate of return is found or interpolated be- 
tween two rates that are fairly close. 

The rate of return for all investment opportunities for an organi- 
zation — automatic data processing, manufacturing plant, new product 
development, or whatever — can be calculated and used to select those 
with higher rates of return. A proposed investment in new data-proc- 
essing equipment and systems competes, of course, with all other in- 
vestment opportunities. A cut-off or minimal rate of return may be 
used to restrict investment in any opportunity that will not yield a 
specified rate. 



SYSTEMS ECONOMICS 433 

Rental or Purchase of Equipment 

Whenever a decision to acquire a computer and related equip- 
ment is reached, the question arises whether it should be purchased, 
rented, or rented with an option to apply some rental against possible 
purchases in the future. At various times manufacturers have followed 
policies of renting only, selling only, either renting or selling, and 
renting with a sales option. Factors involved in choosing a course of 
action are the ratio of rental price to sales price, availability of funds, 
interest rates, uncertainty about equipment meeting its specifications, 
uncertainty about how much and when data-processing system require- 
ments will change, maintenance requirements and merits of either 
the manufacturer or the user furnishing service, purchasing as a hedge 
against rent increases or other changes in lease conditions, and manage- 
ment policies toward ownership. 

No general statement can be made as to whether renting or buying 
is more advantageous. Some writers view the problem as being essen- 
tially an exercise in determining whether the interest rate required 
to equate the rental annuity with the purchase price exceeds the rate 
of return demanded on investments (Anthony and Schwartz, 1957). 
Actually, the "best" plan depends on system requirements, equip- 
ment available, purchase price, funds for investment and operations, 
rental rates, maintenance costs, obsolescence, and other factors. The 
advantages of rental, in general, are the disadvantages of purchase, 
and vice versa. 

Rental arrangements have several advantages. Cost is known and 
is fixed for the term of the contract. Monthly rental rates for electronic 
equipment are about two or three per cent of the purchase price. The 
owner supplies maintenance service and parts so that the user avoids 
the cost of training and keeping maintenance men and of stocking parts. 
Ownership may involve unexpected costs for maintenance or for 
major repair. 

Lease contracts partially protect the user against the loss arising 
from deterioration, obsolescence, and reduced work load. Short-term 
or cancellable rental contracts enable the user to return unprofitable 
or unsuitable equipment with a limited loss. Newer and better equip- 
ment may be obtained by exchange without the capital loss involved 
in ownership, although users pay for both development and obso- 
lescence whether they buy or rent equipment. The cost of obsolescence 
is, of course, included in rental rates. On the other hand, any loss is 
apparent when purchased equipment is sold. A reluctance to absorb 
a loss on the disposition of purchased equipment may lead to post- 
poning decisions to acquire new equipment. 

Rental becomes less desirable as equipment usage increases. Basic 
lease rental covers one shift a day or 40 hours a week. Preventive 



434 PRINCIPLES OF PROCESSING SYSTEMS 

maintenance done while the machine is turned on may be included 
in or excluded from the 40 hours. If equipment is used for more than 
one work shift of regularly scheduled personnel, additional rental is 
to be paid. Purchase may be less expensive than rental for two-shift 
or three-shift operation. 

Purchase may be cheaper under normal conditions, but it in- 
volves many unpredictable factors, some of which may be very ex- 
pensive. Purchase offers some protection against price increases that 
may occur in the future, for purchase prices are in current dollars. 
Lease rentals start in present dollars, but eventually reflect price in- 
creases. Conditions are favorable for purchase when new equipment 
works satisfactorily and will be fully loaded during its economic life. 
Radically new equipment or special-purpose equipment may be avail- 
able by purchase only, for a manufacturer may be either unwilling 
or unable to bear the financing costs. It is not entirely suitable for a 
user to adopt a rigid policy either to buy or to rent; the merits of both 
rental and purchase of equipment should be examined before a decision 
is made. 

A compromise solution to this problem is sometimes possible. 
Certain manufacturers allow equipment rental for a year or more with 
an option to purchase, so that part of the rental already paid may be 
deducted from the purchase price if the option is exercised. An option 
plan has the advantage of postponing capital outlay until some of the 
initial uncertainty is removed. Some purchase options require an initial 
option deposit that is forfeited if the option to purchase is not exercised. 

Life of Equipment 

Equipment investment analysis requires an estimate of how long 
each item will be used before it is scrapped or sold. A period of use 
of some particular length yields the highest net value for an equip- 
ment item, and any other period, shorter or longer, results in a lower 
net value. The economic life of equipment is the period with the maxi- 
mum net value. Equipment should be used for its economic life and 
comparisons should be made on that basis, whenever possible. Eco- 
nomic life is not the time at which equipment collapses in a heap from 
old age — generally, it ends long before that stage. 

Single Machine. The economic life of a single machine that 
will not be replaced is easy to determine, at least in theory. Calcu- 
late the net value for periods of one, two, three, and more years. Ac- 
cumulated net value reaches a maximum and then decreases, as 
described above, and the economic life ends when the net value is 
largest. Equipment used for a longer term operates at a loss, but its 
use for a shorter term precludes potential profits. 



SYSTEMS ECONOMICS 435 

Replacement Chain. Most real-life situations involve replace- 
ment of one set of equipment by other equipment. New equipment 
replaces old equipment to make a replacement chain over a long period 
of time. The long-term objective is to increase the net value of the 
entire replacement chain, not merely the net value of each item. The 
problem of increasing the value of a replacement chain is different 
from the problem of increasing the net value of a single item. The 
differences arise in two ways: (1) present equipment may operate at 
a profit, but new equipment may yield more profit; and (2) future new 
equipment may be superior to both (a) equipment currently in use and 
(b) new equipment currently available. 

The economic life of equipment in a replacement chain is easy 
to determine in theory. Equipment may first operate at a loss, later 
operate at a profit, and eventually operate at a loss again. The end 
of its economic life is reached when the marginal profit from existing 
equipment is equal to the average profit that can be earned during the 
economic life of replacement equipment. Note that the marginal cost 
of using the present equipment is compared with the average cost of 
using the proposed equipment. Table 12-1 shows the annual profits 
from using various sets of equipment — A, A', B, and C. The loss in 
the first year represents the costs of introducing each set of equipment. 

Table 12-1. Annual Profit or (Loss) from Four Sets of Equipment 







Annual Profit for Equipment 








$000 Omitted 




Year 


A 


A' 


B 


C 


1 


(400) 








2 


100 


( 90) 






3 


120 


110 






4 


117 


130 


( 60) 




5 


115 


127 


143 


(200) 


6 


105 


125 


160 


150 


7 


85 


115 


180 


175 


8 


45 


95 


200 


250 


9 


( 10) 


55 


160 


300 


10 







130 


300 


11 






100 


300 


12 








200 


13 








100 



The conditions are as follows: equipment A is available now and 
A' will be available in one year. Later introduction of A' for $90,000 



436 PRINCIPLES OF PROCESSING SYSTEMS 

hinges on using A for one year; otherwise, there will be a total tran- 
sition cost for A' of $490,000. Equipment B and C will be available 
for use in the fourth and fifth years. Equipment can be introduced 
when first available or, of course, later. 

Assume that equipment A is adopted and used one year before 
A', B, and C are known to be available. The question is, "Should A', 
B, or C be obtained to replace A?" Furthermore, "When should A 
be replaced?" Table 12-2 organizes the facts about each set of equip- 
ment to answer the question of whether to keep or replace equipment, 
with the annual profit for equipment A shown as before. Average profits 
for A', B, and C are shown on a cumulative basis from the beginning 
through each specified year. The average profit for A' for the first year 
is, of course, the first-year transition loss of $90,000. The two-year 
average profit for A' is $10,000, [($90,000 loss + $110,000 profit) - 2). 
The average cumulative profit for any number of years is figured in the 
same way. 

Table 12-2. Annual Profit or (Loss) for Equipment A and 
Cumulated Average Profit for A , B, and C 





Annual Profit 


Average Profit From 
Date Available to Any 




for Equipment 
$000 Omitted 


Yea 


r for Equipment 
$000 Omitted 




Year 


A 


A' 


B 


C 


1 


(400) 








2 


100 


(90) 






3 


120 


10 






4 


117 


50 


( 60) 




5 


115 


69 


42 


(200) 


6 


105 


80 


81 


( 25) 


7 


85 


86 


106 


41 


8 


45 


87 


125 


94 


9 


( 10) 


85 


130 


135 


10 






130 


162 


11 






127 


182 


12 








184 


13 








175 



The rule given above for determining the economic life of existing 
equipment can be restated: introduce new equipment when its average 
profit for some period exceeds the marginal profit of equipment in use. 
The average profit of A' is -$90,000, +$10,000, +$50,000, and so 
forth. The average profit for A' when used for six years is $86,000. 
This exceeds the annual profit of $85,000 for equipment A in its seventh 



SYSTEMS ECONOMICS 437 

year. Equipment A' should replace A at the beginning of its seventh 
year. 

The average profit from B is $130,000 if used six years. B's average 
profit for six years exceeds As annual profit for each and every year. 
Equipment B should replace A when it is three years old. This is true 
despite the fact that A still has five years of profitable life. Greater 
profit will be obtained from immediate replacement of A' by B as soon 
as it becomes available. 

The average profit from equipment C is $135,000 if C is used for 
five years, but it is more if C is used longer. Equipment C should be 
adopted as soon as available, for its average profits for four years or 
more exceed As annual profit. 

Assume that equipment B is obtained immediately after it be- 
comes available to replace A. One year later C becomes available. A 
new question arises, "Should C replace B and, if so, when?" The 
average profit from C is $162,000 for six years' use, which exceeds 
B's annual profit of $143,000 for the second year; therefore, C should 
immediately replace B. 

A different question arises if C becomes available before B is ob- 
tained. The question is, "Should we adopt B and then go to C or go 
directly from A to C?" Equipment C, as pointed out above, is 
superior enough to replace B immediately even though B is used for 
only one year. 

The choice available for the fourth year is to use A for a profit 
of $117,000 or adopt B for a loss of $60,000. Clearly, A should be re- 
tained one more year. When C is available, it should be obtained so 
that B is skipped. In future years, assuming that no superior equip- 
ment is available, new C should replace existing equipment C after it 
is eight years old. The average profit of new C for eight years, assuming 
the same experience as for the original C, is $184,000, which exceeds 
the marginal profit of $100,000 in the ninth year. When superior equip- 
ment — model D, E, or F — becomes available, its average profit for 
some period of use can be compared with the annual profit of C to 
decide on either immediate or postponed replacement. 

This type of analysis shows the merits of knowing what will be 
available in the future so that intermediate equipment can be skipped. 
It also helps explain why equipment manufacturers often announce 
big improvements long before the equipment is ready. The prospects 
of further improvements may forestall adoption of available models, 
especially those made by manufacturers who pursue a policy of build 
first and announce when ready to deliver. 

Practical Problems 

The economic life of equipment in use depends on the cost, uses, 
and speed of equipment (Clippinger, 1955). These factors determine 



438 PRINCIPLES OF PROCESSING SYSTEMS 

the average profit that can be earned during the economic life of its 
replacement. Therefore, the economic life of present equipment de- 
pends on forecasting the history of the first and all subsequent 
replacements. 

Investment analysis, although difficult, is valuable, and large 
potential savings are available from good analysis. Understanding 
the basic principles is vital, despite the fact that complete facts about 
the future are not available. Educated guesses about facts often serve 
a useful purpose in solving difficult problems, and, as a last resort, the 
judgment of people who thoroughly understand the basic principles 
will be better than anyone else's. 

Equipment investment analysis requires, as a minimum, the ability 
to predict the future cost and revenue for the first item and its replace- 
ment. Predictions of the future are difficult and risky, for complete 
facts about operations are not a sufficient guide to the future, which 
is frequently different from the past. Available data, information re- 
quirements, prices, jobs, and equipment technology all change. Tech- 
nical improvement may be faster or slower than expected; and systems 
designed to use new equipment may work differently than planned. 
System loads may either increase unexpectedly or not materialize. 
And accurate predictions about the distant future are even more diffi- 
cult than for the near future. Fortunately, the time value feature of 
money reduces the present importance of distant future events. 

RELATION OF TIME TO MONEY 

Future events need to be compared with present events in making 
investment decisions, and time differences must be compensated for 
in order to make valid comparisons. The basic fact is that money in 
the future is worth less than money now. This difference in favor of 
present money is an important factor in the cost of capital and in- 
fluences decisions to make present outlays that will yield future rev- 
enues. Any investment is expected to yield an amount equal to the 
present outlay plus a return on the investment. This section describes 
the time relationship of money in terms of the future amount of a dol- 
lar, present worth of a dollar, and the corresponding annuities. 

Future Amount of a Dollar. Money presently available can be 
invested to obtain both the original sum and interest in the future. 
The future amount is equal to the total of the present sum and the 
interest to some future date. The present sum and future amount are 
equivalent, considering the interest rate. 

A dollar invested now at 10 per cent is worth $1.10 at the end 
of one year and $1.21 at the end of two years [(1.10 x .10) + 1.10]. 
It grows to $2.59 at the end of ten years, as follows: 



SYSTEMS ECONOMICS 439 

Future 
Amount 
Time of $1 

Now 1.00 

End of Period 1 1.10 

2 1.21 

3 1.33 

4 1.46 

5 1.61 

6 1.77 

7 1.95 

8 2.14 

9 2.35 

10 2.59 



Figure 12-6 shows the way that $1 now grows at compound in- 
terest rates of 5, 10, and 20 per cent over a period of ten years. The 
general rule is that the amount is equal to (1 + i) n , where i is the inter- 
est rate per period and n is the number of periods. 



Value 
of $1 




Figure 12-6. Future amount of $1 now 

Future Amount of Annuity. An investment of $1 may be made 
now and repeated at the end of each period to make an annuity. The 
accumulated value at the end of the first year is $2.10 — $1.10 from the 
first investment plus $1 from the second. At the end of the second year 
it is $3.31— $1.21 plus $1.10 and $1.00. 

Annuities often omit the immediate payment, so that the first 
payment is made one period from now and at the end of each period 
thereafter. The column for the amount of an annuity should be shifted 
down one period to adjust for this difference in starting date. The 
amount of an ordinary annuity is $1.00 at the end of the first period 
and $15.93 at the end of the tenth period. The formula for the amount 



440 PRINCIPLES OF PROCESSING SYSTEMS 



of an annuity is (1 + i) n - 1 where i and n have the same meanings 

as before. The future amount of a single payment or a series of pay- 
ments is useful for accumulating them into a single amount in the 
future. 

Present Worth of $1 . Decisions about the future must, of course, 
be made in advance, so that the present worth of future payments is 
required for comparing future events with present ones. The pres- 
ent worth of a single payment is the reciprocal of (1 divided by) the 
corresponding future amount of a single payment, as described earlier. 
The present worth, at a discount rate of 10 per cent, of $1 payable 
two periods from now is $0,826 (1 -s- 1.21). A dollar payable ten pe- 
riods from now has a present value of $0,385 (1 ■*- 2.59). 

Graphs for the present value of $1 at compound discount rates 
of 5, 10, and 20 per cent have the same general shape as those shown 
earlier for the future amount of $1, except that they are equal to $1 
at a specified date in the future and have smaller values now. Using the 
graph, merely go out the desired number of years, find the amount of 
$1 on a selected interest rate curve, and trace it back to the present. 
The ratio of future amount to present worth can be applied to any 
future amount to find its present worth. 

Present Worth of Annuity. Investment analysis usually involves 
the question, "What is the present worth of a series of future pay- 
ments?" A series of future payments is an annuity and the present 

Present 
Worth of 
Annuity 

8 — — $7. 72 at 5% discount rate 



14 at 10% discount rate 




$4.19 at 20% discount rate 



Now 




Figure 12-7. Present worths of ten-period annuities 
at 5, 10, and 20 per cent discount 



SYSTEMS ECONOMICS 441 

worth of an annuity is easily found for the specified number of periods 
at a selected discount rate. 

The present worth of an annuity of $1 at the end of each of five 
periods at a discount rate of 10 per cent is $3.79 (total of .909, .826, 
.751, .683, and .621) using the present worths of $1 for each individual 
term, as shown earlier. 

The present worths of ten-period annuities at discount rates of 5, 
10, and 20 per cent are shown in Figure 12-7. Different rates and pe- 
riods can be used, of course. The formula for the present worth of an 
annuity is: 



1- 1 



(l+i) r 



The difference between future payments and the present worth of 
an annuity is important in equipment investment analysis. It means 
that future dollars are less important than dollars today. Predictions 
of revenue and cost are usually more accurate for the near future than 
for the distant future. The discount relationship between time and 
money, as described above, heavily weights near future costs and 
revenues. Fortunately, they are easier to estimate. The discount 
relation reduces the effect of future events which are more difficult 
to estimate. 

SUMMARY 

Economic analysis deals with the determination of revenue and 
costs. "Revenue" includes the value of services produced and the sal- 
vage value of equipment after it is no longer used. Revenue is hard to 
measure because "market prices" are seldom put on the information 
produced by a system. "Cost" includes outlays for systems analysis, 
programming, equipment purchase price or rental payments, installa- 
tion, debugging and conversion, interest on investment, maintenance, 
materials, labor, and power. 

Different types of costs must be considered for various decisions. 
Marginal cost is the amount of change with variations in activity. 
Marginal costs are germane to the question, "Should we do more or less 
of this or that?" Capital cost arises from investment in equipment. 
Interest on capital costs for waiting and risk of loss — deterioration, 
obsolescence, and reduced demand for equipment services — are 
involved. 

Initial investment includes the cost of analyzing the system, train- 
ing people, preparing programs, installing equipment, and converting 
from an old to a new system and equipment. Salvage value declines 



442 PRINCIPLES OF PROCESSING SYSTEMS 

sharply at first and then tapers off slowly. Operating costs include 
supervision, reprogramming, operation and maintenance labor, power, 
and supplies. They decline after system shakedown and then increase. 
Benefits from a new system are small at first because of the transition 
problems, then increase for a while, and then finally decrease. The net 
value of a new system is negative at first, then increases, and later 
tapers off. 

Economic life may be determined by judgment, the pay-off rule, 
or by rate of return analysis. The economic life of a single machine 
that is not to be replaced ends when its net value is largest. Equip- 
ment continued in service after that point operates at a loss. 

A replacement chain of equipment poses a different problem. 
Economic life ends when the annual profit from the present equip- 
ment falls below the average profit expected from replacement equip- 
ment. Superior new equipment may displace existing equipment which 
is still quite new and profitable. Available models should not be pro- 
cured if vast improvements are expected in the near future. But an- 
nounced improvements may not be as big as promised or available 
when expected, and, in fact, they may never materialize. Postponing 
the procurement of improved equipment that is available to wait for 
still better equipment may have large rewards, but it also has some 
risks attached. 

Present and future events can be compared at one point in time 
by compensating for the time difference. The difference in favor of 
present dollars reflects the cost of capital. A present dollar grows at 
compound interest to become a future amount. A series of future pay- 
ments accumulates as the amount of an annuity. 

A single future amount can be discounted to get its present worth 
and a series of future payments can be discounted as the present worth 
of an annuity. To decide whether an investment is worth while, future 
revenues can be related to the initial investment in terms of the present 
worth of an annuity. 

Rental and purchase plans have advantages that must be ap- 
praised for a particular situation. Some advantages of both plans are 
available through a lease with an option to purchase equipment. 



REFERENCES AND SUPPLEMENTAL READINGS 

Anthony, Robert N., and Samuel Schwartz. Office Equipment: Buy or Rent?, 
Boston, Management Analysis Center, Inc., 1957, 92 pp. This monograph 
presumes that the decision to acquire a piece of office equipment has been 
made, so that the book deals with the narrower question, "Should you ac- 
quire it by outright purchase or by rental?" The problem is one of invest- 
ment policy and the basic issue is whether the rental and other costs saved 



SYSTEMS ECONOMICS 443 

when funds are invested in equipment will be a large enough amount to 
yield an adequate return on the investment. Present worth tables that as- 
sume an income tax rate of 50 per cent, straight-line depreciation over 
equipment life, and a salvage value of 15 per cent simplify calculating the 
rate of return on a proposed investment. Chapters are devoted to required 
earning rate, future useful life of equipment, kinds of costs, income tax, 
and a short-cut method of analysis. 

Bagby, W. S. "Deciding Upon an Electronic Data-Processing System," The 
Controller, vol. 24: 216-221 (May 1956). Bagby presents the steps followed 
by a large insurance company in appraising, installing, and converting to 
an electronic data system. The questions asked at various stages plus the 
analysis, plans, adjustments, and training necessary for developing an ef- 
fective system are outlined. The basic decision turned on a nine-month, 
10,000 man-hour study that produced a cost comparison indicating a total 
outlay of two million for a large-scale system capable of paying for itself 
in five or six years on one ordinary insurance application. Selection of a 
particular system was based on less quantitative data. One company's ex- 
perience is useful in aiding others in selecting a specific system and, more 
important, in deciding whether any system is economically feasible. 

Chapin, Ned. "Justifying the Use of an Automatic Computer," Computers 
and Automation, vol. 4: 17-19 (August 1955). The question of whether or 
not to use an automatic computer is approached on a cost and benefit basis. 
Dollars and cents data can be obtained for some costs and benefits, but 
other factors — management dependence upon the new system and effect of 
equipment on company operations — are "irreducible" because precise 
dollars and cents answers are not possible. Costs that will change in the 
future, rather than those that will continue, must be estimated and com- 
pared with the cost of the new equipment to find whether it is justified. 

Clippinger, Richard F. "Economics of the Digital Computer," Harvard Busi- 
ness Review, vol. 33: 77-88 (January-February 1955). The questions of 
"costs-uses-speed scale" are faced by the business man contemplating use 
of data-processing equipment. Clippinger discusses the record-keeping, 
management decision, and industrial research classes of data-handling 
problems. Exhibits deal with cost, speed, and peripheral equipment. Two 
case examples illustrate the economics, and especially the net savings, in- 
volved in computer use by a retail chain and a casualty insurance company. 
The article deals also with the implications of a computer for an individual 
company in terms of (a) opportunities for savings, (b) availability of a cen- 
tral computing laboratory, and (c) size of the company. Clippinger ap- 
praises seven computer systems which are in existence or which he en- 
visions for the near future. 



444 PRINCIPLES OF PROCESSING SYSTEMS 

Wallace, Frank. Appraising the Economics of Electronic Computers, New 
York, Controllership Foundation, Inc., 1956, 104 pp. The purpose of this 
research report prepared by Wallace, a partner in a public accounting firm, 
is to develop a "common-sense, business appraisal of computers." It does 
not attempt to give answers, but develops a point of view and an approach 
helpful in planning action. Emphasis is placed on introducing computers to 
reduce clerical costs with little consideration for developing better infor- 
mation for management or making operations research studies. Appraisal 
of a computer as another piece of capital equipment involves determining 
whether new costs to be incurred are less than costs to be eliminated. A 
thorough study requires forming a computer team of several people to ana- 
lyze procedural areas — for example, (a) inventory and production records 
and (b) costs and budgets — selected on the basis of clerical costs, simplicity 
for programming, intangible benefits, and effect of centralization upon data 
transmission costs. Detailed analysis of a system involves (a) flow charts, 
(b) volume studies, and (c) cost determination to define activities for intro- 
duction of new equipment. Improvements can, it is said, be derived from 
systems study even though existing equipment is retained. The computer 
feasibility study requires filling in detail (hardware, personnel, operating 
loads, and programs) to develop projected costs for comparison with pres- 
ent costs. The most economical system should be selected, although the 
intangible benefits obtainable may be decisive if costs are not greatly differ- 
ent. Wallace also deals with the problems of installation and operating costs. 



PART FIVE 



SYSTEMS DESIGN 



CHAPTER THIRTEEN 



ORGANIZATIONAL 
STRUCTURE FOR 
DATA PROCESSING 



The organizational structure of a business depends on many 
factors. These deserve brief coverage in order to put the method of 
data processing, whether by computers or otherwise, into a proper 
perspective, for data-processing methods are only one factor influenc- 
ing the way a business is organized. Then too, there is a strong inter- 
relation between organizational patterns and data-processing methods, 
so that changes in either one may induce or even cause changes in the 
other. 

Organizational patterns can be examined broadly and narrowly. 
In broad terms, the organizational pattern of the company as a whole 
and any changes that occur in response to new methods of data proc- 
essing should be considered. More narrowly, changes in the composi- 
tion and organizational pattern of the group directly responsible for 
data processing, which deserve examination because dramatic changes 
occur here before the company at large is affected, are covered in 
Chapter 17. 

FACTORS RELATED TO THE ENTERPRISE 

The structure appropriate for any organization depends on the 
nature of its operations, its managerial organization, its processing 
system, legal restrictions, and other factors. These factors are closely 
related and each affects the others. 

Operations 

The relationships, dynamics, and location of operations to be 
controlled deserve examination. 

Relationships. An important determinant of the organizational 
pattern of a company as a whole is the relationship between its various 

446 



ORGANIZATIONAL STRUCTURE FOR DATA PROCESSING 447 

parts. Operations of the various parts — whether divisions, plants, 
warehouses, offices, or subsidiary corporations — may be closely inter- 
related. As an example of highly related operations, raw material pro- 
duced at one plant may be finished at another, stocked at all ware- 
houses, and sold to customers by any one of many sales offices. In such 
a case, a fairly high degree of management centralization is required 
to coordinate operations. Some data will originate locally: stock re- 
ceipts, issues, returns, and quantity of inventory on hand. Other data — 
replenishment plans, availability of substitute items, and future re- 
quirements — will originate centrally. The data originating at separate 
points must converge at some stage during processing in order to relate 
all factors. 

On the other hand, divisions of a company may have unrelated 
activities which there is little need to coordinate — one division may 
manufacture refrigerators, and another electric generators. Also, some 
operations are completely independent of the main stream of activities. 
The inventory and use of widgets, for instance, may have little or no 
relation to the payroll at the same plant or warehouse, and inventory 
and payroll at two different locations may be totally unrelated. Data- 
processing streams can also be entirely independent. A close relation 
between operations is likely to be associated with a concentration of 
decision-making authority within a business. Some uniformity in data 
processing to simplify interpretation and comparison is a concomitant 
of centralized management. 

Dynamics of Operations. "Static" and "dynamic" are good 
words to cover the degree of predictability or unpredictability of busi- 
ness operations. Static operations are predictable, for changes follow 
certain rules or occur slowly. The existence of static conditions reduces 
the requirements for information and simplifies data-processing pro- 
cedures. The system load, the input, and the output vary slowly. Only 
a small degree of flexibility is required because system demands change 
little, and known loads can be scheduled for efficient processing and 
reporting with equipment that has little excess capacity. Processing 
is rarely interrupted to answer unexpected questions or to cope with 
drastic changes in operations. 

Conditions are dynamic when operations are unpredictable and 
changes occur quickly without following any known rules. Dynamic 
conditions make data processing difficult, for system load, input data, 
and output requirements change radically. Changing conditions im- 
pose new information requirements that require flexibility in order to 
meet new conditions. Capacity must be reserved to cover new loads, 
and smooth scheduling is often interrupted by entirely new processing 
requirements. Interrogations to get quick answers also disrupt routine 
operations. 



448 SYSTEMS DESIGN 

At one extreme, conditions might be as static as the legendary 
salt mill at the bottom of the ocean. The owner, you will recall, who 
started the mill grinding, did not know how to stop it so he threw it 
overboard to get rid of it. Since the mill produces salt at a constant 
rate without change of any kind, there are no more facts to learn about 
it. A data-processing system for the salt mill would be trivial, for one 
report on the product and the output rate would be correct forever. 

Static operations — those characterized by small and infrequent 
changes — may be handled equally well by local or centralized process- 
ing. Information requirements are small enough that summary output 
from local processing is suitable for centralized processing. Original 
raw data need not be transmitted. At the other extreme, highly dynamic 
operations might be so completely unpredictable that events one day 
in the future might have no relation to any present or past events. Even 
an elaborate processing system cannot cope with this difficult situation. 
In such a case, reports about past events would be useless in helping 
management predict future events. 

Business operations are always somewhere between the two ex- 
tremes, however, for neither perfect predictability nor complete un- 
predictability exists. 

Geographical Dispersion. Operations may be either at one loca- 
tion or scattered geographically. Single location operations, those 
under one "roof" or nearby, simplify the problem of finding a physical 
location for data-processing facilities. Even so, the organizational 
structure within a business at one location poses processing problems 
which can be solved in various ways. Processing within each adminis- 
trative unit throughout the organization may be feasible if operations 
are not closely related, for processing can then be kept responsive to 
the individual needs of the location; but fragmentary processing may 
be inefficient because of the limited scale. 

Centralized processing facilities may be located in one adminis- 
trative unit. If a unit with heavy data-information requirements takes 
responsibility for all processing, there is some risk that its needs will 
be met and the needs of other users will be neglected, although such 
neglect may be wholly unintended. Heavy loads may get priority while 
others are scheduled later. Emphasis on developing some applications 
may force others into the background. On the other hand, a separate 
department might be set up to provide data-processing services for 
the whole organization. Centralized processing can gain from the use 
of larger-scale equipment than is practical for scattered facilities. 

Widespread physical operations — manufacturing, warehousing, 
and so forth — pose entirely different problems of the physical loca- 
tion and organizational structure of data processing. Data originate 
at many points, and some centralization is required to bring together 



ORGANIZATIONAL STRUCTURE FOR DATA PROCESSING 449 

facts about inter-related operations so that information is available 
at the appropriate level for decision-making purposes. 

High-cost transportation of material and products acts as an "um- 
brella,'' in the economist's terms, and aids the geographical dispersion 
of operations. Efficient communication networks, on the other hand, 
help tie together widespread operations, and centralized processing 
is further facilitated by the availability of large-scale equipment. 

An interesting point arises concerning data handling for temporary 
operations, such as plant, bridge, or highway construction, at an iso- 
lated location. Temporary operations may not warrant setting up com- 
plete data-processing facilities. In such cases, data may be sent to a 
central point for processing with the necessary documents and informa- 
tion being returned for local use. 

These brief comments about the nature of operations — their rela- 
tionship, dynamics, and geographical dispersion — indicate their bear- 
ing on the organizational structure of data-processing facilities. A 
more important point is that these factors have some effect on the way 
that basic operations — manufacturing, warehousing, and marketing — 
themselves are organized. 
Managerial Organization 

The chain of command and the schemes used to control operations 
influence how much data processing there will be and where it will 
be